Set Styling for rofi

This commit is contained in:
2025-09-03 10:03:29 +02:00
parent 0dc1ae58fb
commit 74bf1dc059
100 changed files with 2836 additions and 2115 deletions

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }:
{
programs.appimage = {
enable = true;
binfmt = true;
};
programs.appimage = {
enable = true;
binfmt = true;
};
}

View File

@@ -1,21 +1,21 @@
{ pkgs, ... }:
{
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
}
};
}
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
};
};
};
services.blueman.enable = true; # Graphical Manager
services.blueman.enable = true; # Graphical Manager
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
extraModules = [ pkgs.pulseaudio-modules-bt ];
}
hardware.pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
extraModules = [ pkgs.pulseaudio-modules-bt ];
};
}

View File

@@ -1,25 +1,25 @@
{ pkgs, ... }:
{
services.udev.extraRules = ''
ACTION=="add", \
SUBSYSTEM=="usb", \
ATTR{idVendor}=="04a9", \
ATTR{idProduct}=="31ea", \
'';
# RUN+="systemctl restart webcam"
services.udev.extraRules = ''
ACTION=="add", \
SUBSYSTEM=="usb", \
ATTR{idVendor}=="04a9", \
ATTR{idProduct}=="31ea", \
'';
# RUN+="systemctl restart webcam"
systemd.services.webcam = {
enable = true;
script = ''
${pkgs.gphoto2}/bin/gphoto2 --stdout --capture-movie |
${pkgs.ffmpeg}/bin/ffmpeg \
-i - \
-vcodec rawvideo \
-pix_fmt yuv420p \
-f v4l2 \
/dev/video0
'';
#wantedBy = [ "multi-user.target" ];
};
systemd.services.webcam = {
enable = true;
script = ''
${pkgs.gphoto2}/bin/gphoto2 --stdout --capture-movie |
${pkgs.ffmpeg}/bin/ffmpeg \
-i - \
-vcodec rawvideo \
-pix_fmt yuv420p \
-f v4l2 \
/dev/video0
'';
#wantedBy = [ "multi-user.target" ];
};
}

View File

@@ -1,34 +1,36 @@
{ pkgs, ...}:
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Virtualisation
docker-compose # docker-compose alternative
dive # docker layer viewer
tailscale # Vpn
];
environment.systemPackages = with pkgs; [
# Virtualisation
virtualisation = {
containers.enable = true;
docker-compose # docker-compose alternative
dive # docker layer viewer
tailscale # Vpn
];
# Virtualisation
virtualisation = {
containers.enable = true;
docker = {
enable = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
oci-containers = {
backend = "docker";
containers = {
/*container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};*/
};
};
docker = {
enable = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
oci-containers = {
backend = "docker";
containers = {
/*
container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};
*/
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{
programs.spacefm.enable = true;
programs.spacefm.enable = true;
}

View File

@@ -1,13 +1,13 @@
{ pkgs, ... }:
{
programs.xfconf.enable = true;
services.gvfs.enable = true;
services.tumbler.enable = true;
programs.thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
programs.xfconf.enable = true;
services.gvfs.enable = true;
services.tumbler.enable = true;
programs.thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
}

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }:
{
networking.firewall.allowedTCPPorts = [ 57621 ];
networking.firewall.allowedUDPPorts = [ 5353 ];
# Or disable the firewall altogether.
networking.firewall.enable = false;
networking.firewall.allowedTCPPorts = [ 57621 ];
networking.firewall.allowedUDPPorts = [ 5353 ];
# Or disable the firewall altogether.
networking.firewall.enable = false;
}

View File

@@ -1,30 +1,39 @@
{ pkgs, ... }:
{
fonts = {
packages = with pkgs; [
# icon fonts
material-icons
material-black-colors
material-design-icons
fonts = {
packages = with pkgs; [
# icon fonts
material-icons
material-black-colors
material-design-icons
# normal fonts
noto-fonts
noto-fonts-emoji
# normal fonts
noto-fonts
noto-fonts-emoji
nerdfonts
];
nerdfonts
];
# use fonts specified by user rather than default ones
enableDefaultPackages = false;
# use fonts specified by user rather than default ones
enableDefaultPackages = false;
# user defined fonts
# the reason there's Noto Color Emoji everywhere is to override DejaVu's
# B&W emojis that would sometimes show instead of some Color emojis
fontconfig.defaultFonts = {
serif = ["Noto Serif" "Noto Color Emoji"];
sansSerif = ["Noto Sans" "Noto Color Emoji"];
monospace = ["JetBrainsMono Nerd Font" "Noto Color Emoji"];
emoji = ["Noto Color Emoji"];
};
# user defined fonts
# the reason there's Noto Color Emoji everywhere is to override DejaVu's
# B&W emojis that would sometimes show instead of some Color emojis
fontconfig.defaultFonts = {
serif = [
"Noto Serif"
"Noto Color Emoji"
];
sansSerif = [
"Noto Sans"
"Noto Color Emoji"
];
monospace = [
"JetBrainsMono Nerd Font"
"Noto Color Emoji"
];
emoji = [ "Noto Color Emoji" ];
};
};
}

View File

@@ -1,20 +1,20 @@
{ pkgs, ... }:
{ pkgs, ... }:
{
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
}

View File

@@ -1,42 +1,50 @@
{ pkgs, username, lib, ... }:
{
# given the users in this list the right to specify additional substituters via:
# 1. `nixConfig.substituers` in `flake.nix`
# 2. command line args `--options substituers http://xxx`
nix.settings.trusted-users = [username];
pkgs,
username,
lib,
...
}:
{
# given the users in this list the right to specify additional substituters via:
# 1. `nixConfig.substituers` in `flake.nix`
# 2. command line args `--options substituers http://xxx`
nix.settings.trusted-users = [ username ];
# customise /etc/nix/nix.conf declaratively via `nix.settings`
nix.settings = {
# enable flakes globally
experimental-features = ["nix-command" "flakes"];
auto-optimise-store = true;
substituters = [
"https://cache.nixos.org"
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
builders-use-substitutes = true;
download-buffer-size = 524288000;
};
# do garbage collection weekly to keep disk usage low
nix.gc = {
automatic = lib.mkDefault true;
dates = lib.mkDefault "1 h";
options = lib.mkDefault "--delete-older-than +3";
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowBroken = true;
nixpkgs.config.permittedInsecurePackages = [
"dotnet-sdk-6.0.428"
"dotnet-runtime-6.0.36"
# customise /etc/nix/nix.conf declaratively via `nix.settings`
nix.settings = {
# enable flakes globally
experimental-features = [
"nix-command"
"flakes"
];
auto-optimise-store = true;
substituters = [
"https://cache.nixos.org"
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
builders-use-substitutes = true;
download-buffer-size = 524288000;
};
# do garbage collection weekly to keep disk usage low
nix.gc = {
automatic = lib.mkDefault true;
dates = lib.mkDefault "1 h";
options = lib.mkDefault "--delete-older-than +3";
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowBroken = true;
nixpkgs.config.permittedInsecurePackages = [
"dotnet-sdk-6.0.428"
"dotnet-runtime-6.0.36"
];
}

View File

@@ -1,13 +1,13 @@
{ pkgs, ... }:
{
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
settings = {
X11Forwarding = true;
PermitRootLogin = "no"; # disable root login
PasswordAuthentication = false; # disable password login
};
openFirewall = true;
# Enable the OpenSSH daemon.
services.openssh = {
enable = true;
settings = {
X11Forwarding = true;
PermitRootLogin = "no"; # disable root login
PasswordAuthentication = false; # disable password login
};
openFirewall = true;
};
}

View File

@@ -1,20 +1,20 @@
{ pkgs, ... }:
{
# Enable sound with pipewire.
#sound.enable = true;
hardware.pulseaudio.enable = false;
environment.systemPackages = with pkgs; [ pamixer ];
services.pipewire = {
enable = true;
#alsa.enable = true;
#alsa.support32Bit = true;
#pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# Enable sound with pipewire.
#sound.enable = true;
hardware.pulseaudio.enable = false;
environment.systemPackages = with pkgs; [ pamixer ];
services.pipewire = {
enable = true;
#alsa.enable = true;
#alsa.support32Bit = true;
#pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
}

View File

@@ -1,4 +1,5 @@
{ pkgs, ... }: {
{ pkgs, ... }:
{
boot = {
plymouth = {

View File

@@ -1,34 +1,36 @@
{ pkgs, ...}:
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Virtualisation
podman-compose # docker-compose alternative
dive # docker layer viewer
podman-tui # status of containers in terminal
podman-desktop # Desktop client
tailscale # Vpn
];
environment.systemPackages = with pkgs; [
# Virtualisation
virtualisation = {
containers.enable = true;
podman-compose # docker-compose alternative
dive # docker layer viewer
podman-tui # status of containers in terminal
podman-desktop # Desktop client
tailscale # Vpn
];
# Virtualisation
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
oci-containers = {
backend = "podman";
containers = {
/*container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};*/
};
};
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
oci-containers = {
backend = "podman";
containers = {
/*
container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};
*/
};
};
};
}

View File

@@ -1,12 +1,12 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
qemu
quickemu
];
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"riscv64-linux"
];
environment.systemPackages = with pkgs; [
qemu
quickemu
];
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
boot.binfmt.emulatedSystems = [
"aarch64-linux"
"riscv64-linux"
];
}

View File

@@ -1,61 +1,82 @@
{ pkgs, username, lib, ... }: {
/*services.greetd = {
enable = true;
settings = {
default_session = {
user = username;
command = "$HOME/.wayland-session";
};
};
};*/
services.displayManager = {
sessionPackages = [ pkgs.hyprland ];
};
environment.etc= {
"greetd/background.png".source = ../../wallpapers/lucy_with_cat.png;
"greetd/environments".text = ''
hyprland
fish
'';
};
programs.regreet = {
enable = true;
cageArgs = ["-s" "-m" "last" ];
settings = {
background = {
path = "/etc/greetd/background.png";
fit = "Fill";
};
env.SESSION_DIRS = "$HOME/.wayland-session";
GTK = {
application_prefer_dark_theme = true;
cursor_theme_name = "Adwaita";
font_name = lib.mkForce "FiraCodeNerdFontPropo 12";
icon_theme_name = lib.mkForce "materialdesignicons";
theme_name = "Adwaita";
};
commands = {
reboot = ["systemctl" "reboot"];
poweroff = ["systemctl" "poweroff"];
x11_prefix = [ "startx" "/usr/bin/env" ];
};
appearance = {
greeting_msg = "Hey there, Master!";
};
widget.clock = {
format = "%A %d.%m.%Y %T";
resolution = "500ms";
timezone = "Europe/Berlin";
label_width = 150;
};
{
pkgs,
username,
lib,
...
}:
{
/*
services.greetd = {
enable = true;
settings = {
default_session = {
user = username;
command = "$HOME/.wayland-session";
};
};
};
*/
services.displayManager = {
sessionPackages = [ pkgs.hyprland ];
};
environment.etc = {
"greetd/background.png".source = ../../wallpapers/lucy_with_cat.png;
"greetd/environments".text = ''
hyprland
fish
'';
};
programs.regreet = {
enable = true;
cageArgs = [
"-s"
"-m"
"last"
];
settings = {
background = {
path = "/etc/greetd/background.png";
fit = "Fill";
};
env.SESSION_DIRS = "$HOME/.wayland-session";
GTK = {
application_prefer_dark_theme = true;
cursor_theme_name = "Adwaita";
font_name = lib.mkForce "FiraCodeNerdFontPropo 12";
icon_theme_name = lib.mkForce "materialdesignicons";
theme_name = "Adwaita";
};
commands = {
reboot = [
"systemctl"
"reboot"
];
poweroff = [
"systemctl"
"poweroff"
];
x11_prefix = [
"startx"
"/usr/bin/env"
];
};
appearance = {
greeting_msg = "Hey there, Master!";
};
widget.clock = {
format = "%A %d.%m.%Y %T";
resolution = "500ms";
timezone = "Europe/Berlin";
label_width = 150;
};
};
};
}

View File

@@ -1,18 +1,18 @@
{ pkgs, ... }:
{
services = {
dbus.packages = [pkgs.gcr];
# flatpak.enable = true;
# xdg.portals.enable = true;
geoclue2.enable = true;
xserver.enable = true;
services = {
dbus.packages = [ pkgs.gcr ];
udev.packages = with pkgs; [pkgs.gnome-settings-daemon];
# flatpak.enable = true;
# xdg.portals.enable = true;
geoclue2.enable = true;
xserver.enable = true;
# Enable CUPS to print documents.
printing.enable = true;
udev.packages = with pkgs; [ pkgs.gnome-settings-daemon ];
power-profiles-daemon.enable = true;
};
# Enable CUPS to print documents.
printing.enable = true;
power-profiles-daemon.enable = true;
};
}

View File

@@ -3,85 +3,97 @@
lib,
username,
...
}:
}:
{
# ============================= User related =============================
# ============================= User related =============================
# Define a user account. Don't forget to set a password with passwd.
users.users.${username} = {
isNormalUser = true;
description = username;
extraGroups = ["networkmanager" "wheel" "podman"];
};
programs.steam.enable = true;
programs.dconf.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# Bare minimum
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
git
# System tools
sysstat
lm_sensors # for `sensors` command
ethtool
pciutils # lspci
usbutils # lsusb
lshw
nvme-cli
smartmontools
bluez
# Graphics
libGL
glxinfo
# Rizz
fastfetch
cpufetch
hyfetch
ramfetch
neofetch
ghfetch
libnotify
# Terminal
yazi # file manager
jq # JSON Parser
yq-go # YAML Parser
glow # Markdown Reader
btop # system monitor
iotop # iomonitor
iftop # network monitor
iperf3 # network tester
nmap # network discovery
eza # ls replacement
curl
dnsutils
ldns
file
which
tree
gnused
gnutar
gawk
zstd
gnupg
fzf
# Archives
zip
unzip
p7zip
xz
postman
# Define a user account. Don't forget to set a password with passwd.
users.users.${username} = {
isNormalUser = true;
description = username;
extraGroups = [
"networkmanager"
"wheel"
"podman"
];
};
security.polkit.enable = true;
security.rtkit.enable = true;
programs.steam.enable = true;
programs.dconf.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# Bare minimum
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
git
# System tools
sysstat
lm_sensors # for `sensors` command
ethtool
pciutils # lspci
usbutils # lsusb
lshw
nvme-cli
smartmontools
bluez
# Graphics
libGL
glxinfo
# Rizz
fastfetch
cpufetch
hyfetch
ramfetch
neofetch
ghfetch
libnotify
# Terminal
yazi # file manager
jq # JSON Parser
yq-go # YAML Parser
glow # Markdown Reader
btop # system monitor
iotop # iomonitor
iftop # network monitor
iperf3 # network tester
nmap # network discovery
eza # ls replacement
curl
dnsutils
ldns
file
which
tree
gnused
gnutar
gawk
zstd
gnupg
fzf
# nix related
nix-index
nix-tree
nix-health
# Archives
zip
unzip
p7zip
xz
postman
#teamspeak6-client
];
security.polkit.enable = true;
security.rtkit.enable = true;
programs.ssh.startAgent = true;
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ...}:
{ pkgs, ... }:
{
programs.thunderbird.enable = true;
programs.thunderbird.enable = true;
}

View File

@@ -1,8 +1,8 @@
{ pkgs, ... }:
{
services.tailscale = {
enable = true;
openFirewall = true;
};
services.tailscale = {
enable = true;
openFirewall = true;
};
}