From c6d77088e1157529ac293ca49da883326df6bea7 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 17:10:33 +0200 Subject: [PATCH 01/26] feat: move waybar to bottom, also make it more transparent --- modules/home/waybar/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/home/waybar/default.nix b/modules/home/waybar/default.nix index 184134c..5572f57 100644 --- a/modules/home/waybar/default.nix +++ b/modules/home/waybar/default.nix @@ -23,8 +23,8 @@ "/home/${username}/.config/waybar/config" = { text = '' [{ - "layer": "top", - "position": "top", + "layer": "bottom", + "position": "bottom", "modules-left": [ "privacy", @@ -377,9 +377,9 @@ /* margin: 0 0px; */ } - window#waybar.top { + window#waybar.bottom { /* background-color: rgba(115, 116, 116, 0.22); */ - background-color: rgba(0, 0, 0, 0.75); + background-color: rgba(0, 0, 0, 0.25); border-bottom: none; color: #eeeeee; transition-property: background-color; @@ -387,7 +387,7 @@ } window#waybar.hidden { - opacity: 0.5; + opacity: 0.25; } label#window { From e8536922d796ff699567d03b2a6ff7b4ec0d525f Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 17:10:39 +0200 Subject: [PATCH 02/26] flake: update --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 1178345..ff76c8b 100644 --- a/flake.lock +++ b/flake.lock @@ -101,11 +101,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1753284130, - "narHash": "sha256-qadXtVNH5qFiD3zIAk7mk6E8kV+TuK86a7TUhs0kouc=", + "lastModified": 1753471400, + "narHash": "sha256-HFoF82El1cjuiz5se+SeawMwWseUUtYBimq3Iu6G2D0=", "owner": "catppuccin", "repo": "nix", - "rev": "6365c59e7506fd3e6e5050c8184b41aa7410d6e7", + "rev": "bc6d2b7b57dd29389538f8c4465e408c07187404", "type": "github" }, "original": { @@ -337,11 +337,11 @@ ] }, "locked": { - "lastModified": 1753373145, - "narHash": "sha256-UhuUj46dobD/POOdVNxKvAvP3luI2T0MZPm2IXl266Y=", + "lastModified": 1753470191, + "narHash": "sha256-hOUWU5L62G9sm8NxdiLWlLIJZz9H52VuFiDllHdwmVA=", "owner": "nix-community", "repo": "home-manager", - "rev": "64796151f79e6f3834bfc55f07c5487708bb5b3f", + "rev": "a1817d1c0e5eabe7dfdfe4caa46c94d9d8f3fdb6", "type": "github" }, "original": { @@ -444,11 +444,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1753310189, - "narHash": "sha256-EgDpsy/2ge/88Zd5ML+m0tyFVwXCeUoPQTOs4YtWZ8w=", + "lastModified": 1753523167, + "narHash": "sha256-DLVvtdF8zPmL+7dYubnMfK9IIITriecCg7ijLErUTg0=", "ref": "refs/heads/main", - "rev": "31cc7f3b87d1d9670b66e73e3720da2e2da49acd", - "revCount": 6311, + "rev": "e1fff05d0db9c266679ec7ea1b5734c73d6b0a57", + "revCount": 6314, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -865,11 +865,11 @@ "nixpkgs": "nixpkgs_7" }, "locked": { - "lastModified": 1753367463, - "narHash": "sha256-57dj9Yg+R+70TEjQ2Zd1ytbo+6Tgzd6vBcUWcMDXHWU=", + "lastModified": 1753447932, + "narHash": "sha256-uKZ2HAJlQK4WUowggB4pVGFFqMVqVTkQaQ2+48/J+pY=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "f459134cf7b4f4f890736063a7cde1cf3b9fb7e6", + "rev": "1e3c1bd1461e9296334e039eeb20f7100153e98a", "type": "github" }, "original": { @@ -957,11 +957,11 @@ }, "nixpkgs_11": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", "type": "github" }, "original": { @@ -989,11 +989,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1752950548, - "narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=", + "lastModified": 1753250450, + "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c87b95e25065c028d31a94f06a62927d18763fdf", + "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", "type": "github" }, "original": { @@ -1069,11 +1069,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", "type": "github" }, "original": { @@ -1106,11 +1106,11 @@ "nixvim": "nixvim_2" }, "locked": { - "lastModified": 1749898168, - "narHash": "sha256-aOUvfBcLdrNzI1BL+jhPh0y0cFkgjne2tstDb8k1vI0=", + "lastModified": 1753530968, + "narHash": "sha256-mn0wmdFjtZdPQNvReOnyXI8YPCT3arnAKyfuRZuIOiQ=", "owner": "ahwxorg", "repo": "nixvim-config", - "rev": "546d385ec71b0ed34abc3f32100e3d0792c349c8", + "rev": "bdb8c7c4c77d2757c7e8fdd6e853060ba8287e90", "type": "github" }, "original": { @@ -1145,11 +1145,11 @@ "nixpkgs": "nixpkgs_11" }, "locked": { - "lastModified": 1753382346, - "narHash": "sha256-zmwOtA2ug12q+n50PZloOR9BdR/NN+iugdYyTjtKgS0=", + "lastModified": 1753530457, + "narHash": "sha256-ElI7ya0YQ07RMDEaF94bQe7Rmz4tr2pKYa+KdRchrEY=", "owner": "nix-community", "repo": "NUR", - "rev": "36c64dfbef717701d0a9cac2ea26e4357d782357", + "rev": "8c37eaf318485018b37efa1006af881c5c7f5616", "type": "github" }, "original": { From 42cc781bd7fe7367d3ac4a476701a6acf786e6b2 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 19:04:45 +0200 Subject: [PATCH 03/26] feat: adds sleep-then-hibernate to `sakura` --- hosts/sakura/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/sakura/default.nix b/hosts/sakura/default.nix index 99124c4..18e2ded 100644 --- a/hosts/sakura/default.nix +++ b/hosts/sakura/default.nix @@ -71,6 +71,10 @@ ${pkgs.fw-ectool}/bin/ectool led battery auto ''; }; + systemd.sleep.extraConfig = '' + HibernateDelaySec=30m + ''; + services.logind.lidSwitch = "suspend-then-hibernate"; boot = { plymouth.enable = true; kernelParams = [ From f62efc1eeead657cbd28a3340ff8c64401569ab2 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 19:06:05 +0200 Subject: [PATCH 04/26] feat: write `plymouth` module --- modules/core/default.nix | 1 + modules/core/plymouth.nix | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 modules/core/plymouth.nix diff --git a/modules/core/default.nix b/modules/core/default.nix index 36b87a6..a91aa3a 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -9,6 +9,7 @@ ++ [ (import ./network.nix) ] ++ [ (import ./pipewire.nix) ] ++ [ (import ./program.nix) ] + ++ [ (import ./plymouth.nix) ] ++ [ (import ./sshd.nix) ] ++ [ (import ./security.nix) ] ++ [ (import ./services.nix) ] diff --git a/modules/core/plymouth.nix b/modules/core/plymouth.nix new file mode 100644 index 0000000..042236e --- /dev/null +++ b/modules/core/plymouth.nix @@ -0,0 +1,23 @@ +{ + pkgs, + lib, + ... +}: +{ + # TODO: add https://github.com/FraioVeio/plymouth-xp-theme + boot.loader.timeout = 1; + boot.plymouth = { + enable = lib.mkDefault true; + themePackages = with pkgs; [ + # By default we would install all themes + (adi1090x-plymouth-themes.override { + selected_themes = [ "lone" ]; + # selected_themes = [ "sliced" ]; + # selected_themes = [ "rings" ]; + # selected_themes = [ "red_loader" ]; + # selected_themes = [ "dna" ]; + # selected_themes = [ "hexagon_dots" ]; + }) + ]; + }; +} From 4741c430f92b8a7f201784166afbde60831bfcac Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 19:06:18 +0200 Subject: [PATCH 05/26] chore: disable plymouth on sakura as the module is now in use --- hosts/sakura/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/sakura/default.nix b/hosts/sakura/default.nix index 18e2ded..a84814b 100644 --- a/hosts/sakura/default.nix +++ b/hosts/sakura/default.nix @@ -76,7 +76,7 @@ ''; services.logind.lidSwitch = "suspend-then-hibernate"; boot = { - plymouth.enable = true; + # plymouth.enable = true; # is a module now kernelParams = [ "mem_sleep_default=deep" "acpi_osi=\"!Windows 2020\"" # otherwise GPU does weird shit that makes the computer look like the RAM is broken From 570f3d511a46fc97e0a2e76dbe63eeb91ad773a5 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 19:06:39 +0200 Subject: [PATCH 06/26] chore: cleanup; hard-disable avahi since it's not required --- modules/core/network.nix | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/modules/core/network.nix b/modules/core/network.nix index 2c80cdb..919bb45 100644 --- a/modules/core/network.nix +++ b/modules/core/network.nix @@ -1,20 +1,13 @@ -{ pkgs, ... }: +{ pkgs, ... }: { networking = { networkmanager.enable = true; nameservers = [ "9.9.9.9" ]; firewall = { enable = true; - # allowedTCPPorts = [ 22 80 443 59010 59011 ]; - # allowedUDPPorts = [ 59010 59011 ]; - # allowedUDPPortRanges = [ - # { from = 4000; to = 4007; } - # { from = 8000; to = 8010; } - # ]; }; }; - - # environment.systemPackages = with pkgs; [ - # networkmanagerapplet - # ]; + services = { + avahi.enable = false; + }; } From 664a158281b09b731e7d8f20068e5a6369ecb92d Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 19:06:51 +0200 Subject: [PATCH 07/26] feat: adds nixcd function --- modules/home/zsh.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/home/zsh.nix b/modules/home/zsh.nix index 8082e59..53e7fbb 100644 --- a/modules/home/zsh.nix +++ b/modules/home/zsh.nix @@ -110,6 +110,20 @@ printf "%s\n" "''${url}" } + function nixcd () { sakura + PACKAGE_NAME="$1" + if [[ "$PACKAGE_NAME" = "" ]]; then + echo "Usage: nixcd " + fi + PKGINSTORE="$(NIXPKGS_ALLOW_UNFREE=1 nix path-info nixpkgs#$PACKAGE_NAME --impure)" + if [[ -d "$PKGINSTORE" ]]; then + cd $PKGINSTORE + else + echo "Could not find path for package: $PKGINSTORE" + return 1 + fi + } + export export PATH="''${PATH}:''${HOME}/.local/bin/:''${HOME}/.cargo/bin/:''${HOME}/.fzf/bin/" # if [[ $(which sxiv&>/dev/null && echo 1) == "1" ]]; then From ed59dde6cacf698c6c7e7e9137b0fefa55f5fd37 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 20:01:11 +0200 Subject: [PATCH 08/26] chore: remove `sakura` as that was left from a paste --- modules/home/zsh.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/zsh.nix b/modules/home/zsh.nix index 53e7fbb..a5c83e8 100644 --- a/modules/home/zsh.nix +++ b/modules/home/zsh.nix @@ -110,7 +110,7 @@ printf "%s\n" "''${url}" } - function nixcd () { sakura + function nixcd () { PACKAGE_NAME="$1" if [[ "$PACKAGE_NAME" = "" ]]; then echo "Usage: nixcd " From 0477b8b4e3f40216bbc7db5d7db1d257ed102c77 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 20:06:08 +0200 Subject: [PATCH 09/26] chore: remove steam; remove desktop profile since it is not used --- modules/core/default.nix | 1 - modules/core/steam.nix | 9 --------- modules/core/system.nix | 20 ++++++++++++++------ modules/core/user.nix | 4 +--- modules/home/default.desktop.nix | 5 ----- modules/home/gaming.nix | 10 ---------- modules/home/steam.nix | 20 -------------------- 7 files changed, 15 insertions(+), 54 deletions(-) delete mode 100644 modules/core/steam.nix delete mode 100644 modules/home/default.desktop.nix delete mode 100644 modules/home/gaming.nix delete mode 100644 modules/home/steam.nix diff --git a/modules/core/default.nix b/modules/core/default.nix index a91aa3a..10c17fa 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -17,6 +17,5 @@ ++ [ (import ./user.nix) ] ++ [ (import ./bluetooth.nix) ] ++ [ (import ./yubikey.nix) ] - # ++ [ (import ./steam.nix) ] ++ [ (import ./wayland.nix) ]; } diff --git a/modules/core/steam.nix b/modules/core/steam.nix deleted file mode 100644 index 0901a55..0000000 --- a/modules/core/steam.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ ... }: -{ - programs.steam = { - enable = true; - remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play - dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers - }; -} diff --git a/modules/core/system.nix b/modules/core/system.nix index 7ac70fe..3fff33f 100644 --- a/modules/core/system.nix +++ b/modules/core/system.nix @@ -1,12 +1,20 @@ -{ self, pkgs, lib, inputs, ...}: { - # imports = [ inputs.nix-gaming.nixosModules.default ]; + self, + pkgs, + lib, + inputs, + ... +}: +{ nix = { settings = { auto-optimise-store = true; - experimental-features = [ "nix-command" "flakes" ]; - substituters = [ "https://nix-gaming.cachix.org" ]; - trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ]; + experimental-features = [ + "nix-command" + "flakes" + ]; + # substituters = [ "" ]; + # trusted-public-keys = [ "" ]; }; gc = { automatic = true; @@ -41,7 +49,7 @@ "en_US.UTF-8/UTF-8" "ja_JP.UTF-8/UTF-8" ]; - + # Font packages environment.systemPackages = with pkgs; [ noto-fonts-cjk-sans diff --git a/modules/core/user.nix b/modules/core/user.nix index 5ddb8db..a6b72b9 100644 --- a/modules/core/user.nix +++ b/modules/core/user.nix @@ -17,9 +17,7 @@ extraSpecialArgs = { inherit inputs username host; }; users.${username} = { imports = - if (host == "desktop") then - [ ./../home/default.desktop.nix ] - else if (host == "violet") then + if (host == "violet") then [ ./../home/default.server.nix ] else if (host == "dandelion") then [ ./../home/default.server.nix ] diff --git a/modules/home/default.desktop.nix b/modules/home/default.desktop.nix deleted file mode 100644 index 4e658d9..0000000 --- a/modules/home/default.desktop.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ ...}: { - imports = - [(import ./default.nix)] - ++ [ (import ./steam.nix) ]; -} diff --git a/modules/home/gaming.nix b/modules/home/gaming.nix deleted file mode 100644 index c9e167f..0000000 --- a/modules/home/gaming.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, config, inputs, ... }: -{ - home.packages = with pkgs;[ - ## Utils - # gamemode - # gamescope - # winetricks - # inputs.nix-gaming.packages.${pkgs.system}.wine-ge - ]; -} diff --git a/modules/home/steam.nix b/modules/home/steam.nix deleted file mode 100644 index 4b559a5..0000000 --- a/modules/home/steam.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, lib, ... }: -{ - programs.steam = { - enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = false; - }; - nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ - "steam" - "steam-original" - "steam-runtime" - ]; - # proton-ge-bin - -# warning: The package proton-ge in nix-gaming has been deprecated as of 2024-03-17. - -# You should use proton-ge-bin from Nixpkgs, which conforms to -# the new `extraCompatTools` module option under `programs.steam` -# For details, see the relevant pull request: -} From 9d63509ad91349fc85e2806b037dc9d743b6ad5e Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 20:07:16 +0200 Subject: [PATCH 10/26] chore: remove rests of desktop and vm --- hosts/desktop/default.nix | 15 --------- hosts/desktop/hardware-configuration.nix | 41 ------------------------ hosts/vm/default.nix | 36 --------------------- hosts/vm/hardware-configuration.nix | 31 ------------------ 4 files changed, 123 deletions(-) delete mode 100644 hosts/desktop/default.nix delete mode 100644 hosts/desktop/hardware-configuration.nix delete mode 100644 hosts/vm/default.nix delete mode 100644 hosts/vm/hardware-configuration.nix diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix deleted file mode 100644 index 555e686..0000000 --- a/hosts/desktop/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: -{ - imports = [ - ./hardware-configuration.nix - ./../../modules/core - ]; - - nixpkgs.config.permittedInsecurePackages = [ - "jitsi-meet-1.0.8043" - "olm-3.2.16" - ]; - - liv.desktop.enable = true; - liv.gui.enable = true; -} diff --git a/hosts/desktop/hardware-configuration.nix b/hosts/desktop/hardware-configuration.nix deleted file mode 100644 index 3cf9604..0000000 --- a/hosts/desktop/hardware-configuration.nix +++ /dev/null @@ -1,41 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/6b518d54-a144-42fe-b500-b6651038bbcc"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/D1A5-9B92"; - fsType = "vfat"; - }; - - swapDevices = - [ { device = "/dev/disk/by-uuid/2d69abc2-3d44-481b-ada8-b436c2b9c8c2"; } - ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/vm/default.nix b/hosts/vm/default.nix deleted file mode 100644 index b0a72a8..0000000 --- a/hosts/vm/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ pkgs, config, lib, ... }: -{ - imports = [ - ./hardware-configuration.nix - ./../../modules/core - ]; - - nixpkgs.config.permittedInsecurePackages = [ - "jitsi-meet-1.0.8043" - "olm-3.2.16" - ]; - - - # kvm/qemu doesn't use UEFI firmware mode by default. - # so we force-override the setting here - # and configure GRUB instead. - boot.loader = { - systemd-boot.enable = lib.mkForce false; - grub = { - enable = true; - device = "/dev/vda"; - useOSProber = false; - }; - }; - - # allow local remote access to make it easier to toy around with the system - services.openssh = { - enable = true; - ports = [22]; - settings = { - # PasswordAuthentication = lib.mkOverride true; - AllowUsers = null; - # PermitRootLogin = "yes"; - }; - }; -} diff --git a/hosts/vm/hardware-configuration.nix b/hosts/vm/hardware-configuration.nix deleted file mode 100644 index 7cd128a..0000000 --- a/hosts/vm/hardware-configuration.nix +++ /dev/null @@ -1,31 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - -{ - imports = - [ (modulesPath + "/profiles/qemu-guest.nix") - ]; - - boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/631775ef-6851-4fe7-997f-189372f87437"; - fsType = "ext4"; - }; - - swapDevices = [ ]; - - # Enables DHCP on each ethernet and wireless interface. In case of scripted networking - # (the default) this is the recommended approach. When using systemd-networkd it's - # still possible to use this option, but it's recommended to use it in conjunction - # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} From 23ab37bf70ef51eb38e195c38c8a169bcb4a1282 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 20:07:52 +0200 Subject: [PATCH 11/26] chore: remove catppuccin and nix-gaming inputs, remove desktop/vm hosts, add nix-index-database for command-not-found --- flake.nix | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/flake.nix b/flake.nix index 5371b3e..955a9e1 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,6 @@ inputs = { agenix.url = "github:ryantm/agenix"; alejandra.url = "github:kamadorueda/alejandra/3.0.0"; - catppuccin.url = "github:catppuccin/nix"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; @@ -25,14 +24,14 @@ nur.url = "github:nix-community/NUR"; nixos-hardware.url = "github:nixos/nixos-hardware"; nixvim.url = "github:ahwxorg/nixvim-config"; - nix-gaming.url = "github:fufexan/nix-gaming"; + nix-index-database.url = "github:nix-community/nix-index-database"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, - catppuccin, agenix, ... }@inputs: @@ -48,16 +47,6 @@ { overlays.default = overlays.addition; nixosConfigurations = { - desktop = nixpkgs.lib.nixosSystem { - inherit system; - modules = [ - (import ./hosts/desktop) - ]; - specialArgs = { - host = "desktop"; - inherit self inputs username; - }; - }; sakura = nixpkgs.lib.nixosSystem { inherit system; modules = [ @@ -124,17 +113,6 @@ inherit self inputs username; }; }; - - vm = nixpkgs.lib.nixosSystem { - inherit system; - modules = [ - (import ./hosts/vm) - ]; - specialArgs = { - host = "vm"; - inherit self inputs username; - }; - }; }; }; } From 05d817ef8abd259ba3314ec3751450fa96bce0a5 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 21:03:26 +0200 Subject: [PATCH 12/26] flake: change inputs --- flake.lock | 209 ++++++++++++++++------------------------------------- 1 file changed, 63 insertions(+), 146 deletions(-) diff --git a/flake.lock b/flake.lock index ff76c8b..5b65471 100644 --- a/flake.lock +++ b/flake.lock @@ -96,24 +96,6 @@ "type": "github" } }, - "catppuccin": { - "inputs": { - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1753471400, - "narHash": "sha256-HFoF82El1cjuiz5se+SeawMwWseUUtYBimq3Iu6G2D0=", - "owner": "catppuccin", - "repo": "nix", - "rev": "bc6d2b7b57dd29389538f8c4465e408c07187404", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "nix", - "type": "github" - } - }, "darwin": { "inputs": { "nixpkgs": [ @@ -178,24 +160,6 @@ "inputs": { "nixpkgs-lib": "nixpkgs-lib" }, - "locked": { - "lastModified": 1751413152, - "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_2": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib_2" - }, "locked": { "lastModified": 1741352980, "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", @@ -210,7 +174,7 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_2": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -232,7 +196,7 @@ "type": "github" } }, - "flake-parts_4": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nur", @@ -352,7 +316,7 @@ }, "hypr-contrib": { "inputs": { - "nixpkgs": "nixpkgs_4" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1753252360, @@ -639,7 +603,7 @@ "inputs": { "hyprutils": "hyprutils_2", "hyprwayland-scanner": "hyprwayland-scanner_2", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "systems": "systems_4" }, "locked": { @@ -662,7 +626,7 @@ "hyprlang": "hyprlang_2", "hyprutils": "hyprutils_3", "hyprwayland-scanner": "hyprwayland-scanner_3", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "systems": "systems_5" }, "locked": { @@ -859,22 +823,23 @@ "type": "github" } }, - "nix-gaming": { + "nix-index-database": { "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_7" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { - "lastModified": 1753447932, - "narHash": "sha256-uKZ2HAJlQK4WUowggB4pVGFFqMVqVTkQaQ2+48/J+pY=", - "owner": "fufexan", - "repo": "nix-gaming", - "rev": "1e3c1bd1461e9296334e039eeb20f7100153e98a", + "lastModified": 1752985182, + "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", "type": "github" }, "original": { - "owner": "fufexan", - "repo": "nix-gaming", + "owner": "nix-community", + "repo": "nix-index-database", "type": "github" } }, @@ -910,21 +875,6 @@ } }, "nixpkgs-lib": { - "locked": { - "lastModified": 1751159883, - "narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, - "nixpkgs-lib_2": { "locked": { "lastModified": 1740877520, "narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=", @@ -939,38 +889,6 @@ "type": "github" } }, - "nixpkgs_10": { - "locked": { - "lastModified": 1742800061, - "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { - "locked": { - "lastModified": 1753429684, - "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1657425264, @@ -989,11 +907,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1753250450, - "narHash": "sha256-i+CQV2rPmP8wHxj0aq4siYyohHwVlsh40kV89f3nw1s=", + "lastModified": 1712163089, + "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fc02ee70efb805d3b2865908a13ddd4474557ecf", + "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", "type": "github" }, "original": { @@ -1005,11 +923,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1712163089, - "narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=", + "lastModified": 1748929857, + "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fd281bd6b7d3e32ddfa399853946f782553163b5", + "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", "type": "github" }, "original": { @@ -1036,38 +954,6 @@ } }, "nixpkgs_6": { - "locked": { - "lastModified": 1748929857, - "narHash": "sha256-lcZQ8RhsmhsK8u7LIFsJhsLh/pzR9yZ8yqpTzyGdj+Q=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c2a03962b8e24e669fb37b7df10e7c79531ff1a4", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1752900028, - "narHash": "sha256-dPALCtmik9Wr14MGqVXm+OQcv7vhPBXcWNIOThGnB/Q=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6b4955211758ba47fac850c040a27f23b9b4008f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_8": { "locked": { "lastModified": 1753429684, "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", @@ -1083,7 +969,7 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_7": { "locked": { "lastModified": 1743315132, "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", @@ -1099,10 +985,42 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1742800061, + "narHash": "sha256-oDJGK1UMArK52vcW9S5S2apeec4rbfNELgc50LqiPNs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1750f3c1c89488e2ffdd47cab9d05454dddfb734", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1753429684, + "narHash": "sha256-9h7+4/53cSfQ/uA3pSvCaBepmZaz/dLlLVJnbQ+SJjk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7fd36ee82c0275fb545775cc5e4d30542899511d", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { - "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_9", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim_2" }, "locked": { @@ -1121,8 +1039,8 @@ }, "nixvim_2": { "inputs": { - "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_10", + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_8", "nuschtosSearch": "nuschtosSearch" }, "locked": { @@ -1141,8 +1059,8 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts_4", - "nixpkgs": "nixpkgs_11" + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1753530457, @@ -1210,15 +1128,14 @@ "Hyprspace": "Hyprspace", "agenix": "agenix", "alejandra": "alejandra", - "catppuccin": "catppuccin", "home-manager": "home-manager_2", "hypr-contrib": "hypr-contrib", "hyprland": "hyprland", "hyprpicker": "hyprpicker", "hyprsunset": "hyprsunset", - "nix-gaming": "nix-gaming", + "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_6", "nixvim": "nixvim", "nur": "nur" } From e9cb874ec935e96a749496deba951cac7c8be483 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 21:46:44 +0200 Subject: [PATCH 13/26] chore: disable immich (via nix) and nextcloud for now --- modules/services/dandelion.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/services/dandelion.nix b/modules/services/dandelion.nix index 6bd0cd9..c11eff1 100644 --- a/modules/services/dandelion.nix +++ b/modules/services/dandelion.nix @@ -2,8 +2,8 @@ { imports = [ (import ./docker.nix) ] - ++ [ (import ./immich.nix) ] - ++ [ (import ./nextcloud.nix) ] + # ++ [ (import ./immich.nix) ] + # ++ [ (import ./nextcloud.nix) ] ++ [ (import ./home-assistant.nix) ] ++ [ (import ./monitoring.nix) ] ++ [ (import ./smart-monitoring.nix) ] From c7484bcda54c3217f702d3898f94039ba70a5cd4 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 21:47:14 +0200 Subject: [PATCH 14/26] feat: configure new zfs pools for dandelion --- hosts/dandelion/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/hosts/dandelion/default.nix b/hosts/dandelion/default.nix index 313dbc2..afee27e 100644 --- a/hosts/dandelion/default.nix +++ b/hosts/dandelion/default.nix @@ -60,10 +60,16 @@ trim.enable = true; }; - # boot.zfs.extraPools = [ "terrabite" ]; + boot.zfs.extraPools = [ "spinners" ]; - # fileSystems."/terrabite/main" = { - # device = "terrabite/main"; - # fsType = "zfs"; - # }; + fileSystems = { + "/spinners/rootvol" = { + device = "terrabite/rootvol"; + fsType = "zfs"; + }; + "/spinners/ahwx" = { + device = "terrabite/ahwx"; + fsType = "zfs"; + }; + }; } From b5251f42b92c29d205819ded955129aae6c10c7d Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 21:54:21 +0200 Subject: [PATCH 15/26] chore: adds v4l2loopback and config for the obs virtual camera --- hosts/sakura/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/sakura/default.nix b/hosts/sakura/default.nix index a84814b..f44da1b 100644 --- a/hosts/sakura/default.nix +++ b/hosts/sakura/default.nix @@ -93,7 +93,11 @@ [ acpi_call cpupower + v4l2loopback ] ++ [ pkgs.cpupower-gui ]; + extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; }; } From f25337f54852b1a5062f022e80b00a91191c2cf0 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 22:10:37 +0200 Subject: [PATCH 16/26] flake: remove nix-index-database; it sucks --- flake.lock | 21 --------------------- flake.nix | 2 -- 2 files changed, 23 deletions(-) diff --git a/flake.lock b/flake.lock index 5b65471..5785f02 100644 --- a/flake.lock +++ b/flake.lock @@ -823,26 +823,6 @@ "type": "github" } }, - "nix-index-database": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1752985182, - "narHash": "sha256-sX8Neff8lp3TCHai6QmgLr5AD8MdsQQX3b52C1DVXR8=", - "owner": "nix-community", - "repo": "nix-index-database", - "rev": "fafdcb505ba605157ff7a7eeea452bc6d6cbc23c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-index-database", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1753122741, @@ -1133,7 +1113,6 @@ "hyprland": "hyprland", "hyprpicker": "hyprpicker", "hyprsunset": "hyprsunset", - "nix-index-database": "nix-index-database", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_6", "nixvim": "nixvim", diff --git a/flake.nix b/flake.nix index 955a9e1..854257d 100644 --- a/flake.nix +++ b/flake.nix @@ -24,8 +24,6 @@ nur.url = "github:nix-community/NUR"; nixos-hardware.url = "github:nixos/nixos-hardware"; nixvim.url = "github:ahwxorg/nixvim-config"; - nix-index-database.url = "github:nix-community/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = From fd68b40a72877205d414bdfb0ff3d2109da4fb50 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 22:10:49 +0200 Subject: [PATCH 17/26] chore: remove command-not-found; it sucks --- modules/home/zsh.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/home/zsh.nix b/modules/home/zsh.nix index a5c83e8..795ddf1 100644 --- a/modules/home/zsh.nix +++ b/modules/home/zsh.nix @@ -7,7 +7,6 @@ }: { programs = { - command-not-found.enable = true; zsh = { enable = true; autocd = true; From 28475cea7d71262d5ec26735aae4d5a640f43db0 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 23:12:13 +0200 Subject: [PATCH 18/26] chore: remove `plymouth` from `ichiyo` as it is enabled by default anyways nowadays --- hosts/ichiyo/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/hosts/ichiyo/default.nix b/hosts/ichiyo/default.nix index f56d168..527fb84 100644 --- a/hosts/ichiyo/default.nix +++ b/hosts/ichiyo/default.nix @@ -11,9 +11,6 @@ ./../../modules/core ]; - # Enable fancy boot animations - boot.plymouth.enable = true; - powerManagement = { enable = true; # powertop.enable = true; From c5184d62dab8330f2d2f3dc1f17712e986946c46 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 23:16:21 +0200 Subject: [PATCH 19/26] feat: make kitty more transparent as that works better with the bar --- modules/home/kitty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/kitty.nix b/modules/home/kitty.nix index cac7f8c..3f20039 100644 --- a/modules/home/kitty.nix +++ b/modules/home/kitty.nix @@ -12,7 +12,7 @@ settings = { confirm_os_window_close = 0; - background_opacity = "0.75"; + background_opacity = "0.25"; window_padding_width = 10; scrollback_lines = 10000; enable_audio_bell = false; From 2f23a9f717720edfca06232be344c09db65b06a6 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 23:18:57 +0200 Subject: [PATCH 20/26] feat: open firewall as we now also host minecraft (wooo!) --- hosts/violet/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/hosts/violet/default.nix b/hosts/violet/default.nix index 8aa285d..bc15f41 100644 --- a/hosts/violet/default.nix +++ b/hosts/violet/default.nix @@ -33,6 +33,14 @@ xserver.videoDrivers = [ "nvidia" ]; }; + networking.firewall = { + allowedTCPPorts = [ + 80 + 443 + 25565 + ]; + }; + liv.nvidia.enable = true; boot = { From e9bd003401ee5e069420b03d7607fef7045add1b Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sat, 26 Jul 2025 23:35:29 +0200 Subject: [PATCH 21/26] feat: adds `zinnia` host --- flake.nix | 11 +++++ hosts/zinnia/default.nix | 61 +++++++++++++++++++++++++ hosts/zinnia/hardware-configuration.nix | 45 ++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 hosts/zinnia/default.nix create mode 100644 hosts/zinnia/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 854257d..34b2afc 100644 --- a/flake.nix +++ b/flake.nix @@ -111,6 +111,17 @@ inherit self inputs username; }; }; + zinnia = nixpkgs.lib.nixosSystem { + inherit system; + modules = [ + (import ./hosts/zinnia) + agenix.nixosModules.default + ]; + specialArgs = { + host = "zinnia"; + inherit self inputs username; + }; + }; }; }; } diff --git a/hosts/zinnia/default.nix b/hosts/zinnia/default.nix new file mode 100644 index 0000000..f7ba60b --- /dev/null +++ b/hosts/zinnia/default.nix @@ -0,0 +1,61 @@ +{ + lib, + config, + pkgs, + ... +}: + +{ + imports = [ + ./hardware-configuration.nix + ./../../modules/core + ./../../modules/services/tailscale.nix + ./../../modules/services/mpd.nix + ]; + + liv = { + laptop.enable = true; + gui.enable = true; + desktop.enable = false; + creative.enable = false; + amdgpu.enable = false; + }; + + services = { + vnstat.enable = true; + }; + + networking.hostName = "zinnia"; + + powerManagement = { + enable = true; + powertop.enable = true; + cpuFreqGovernor = lib.mkDefault "ondemand"; + }; + + boot.initrd.luks.devices."luks-59aff546-c2c2-4697-a5f2-40a12f259f5a".device = + "/dev/disk/by-uuid/59aff546-c2c2-4697-a5f2-40a12f259f5a"; + + boot = { + kernelParams = [ + "mem_sleep_default=deep" + ]; + kernelModules = [ "acpi_call" ]; + kernelPackages = pkgs.linuxPackages_latest; + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + systemd-boot.configurationLimit = 10; + }; + extraModulePackages = + with config.boot.kernelPackages; + [ + acpi_call + cpupower + ] + ++ [ pkgs.cpupower-gui ]; + }; + + time.timeZone = "Europe/Amsterdam"; + nixpkgs.config.allowUnfree = true; +} diff --git a/hosts/zinnia/hardware-configuration.nix b/hosts/zinnia/hardware-configuration.nix new file mode 100644 index 0000000..eb9890f --- /dev/null +++ b/hosts/zinnia/hardware-configuration.nix @@ -0,0 +1,45 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/hardware/network/broadcom-43xx.nix") + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/c9f69c59-2014-41de-b169-53c38c7d9f15"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."luks-ad0e2f90-490d-4a2b-8484-8d18bc9bdff5".device = "/dev/disk/by-uuid/ad0e2f90-490d-4a2b-8484-8d18bc9bdff5"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/0AEC-87AF"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/18a2707c-9fe0-4dc4-a15f-6908cc34f26e"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true; + # networking.interfaces.wwp0s20f0u2c2.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From b27442991ee21e0a5274095d7d062e791237d0ec Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 27 Jul 2025 00:10:08 +0200 Subject: [PATCH 22/26] feat: write big cursed function to make `zinnia`'s display work --- modules/home/hyprland/config.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/home/hyprland/config.nix b/modules/home/hyprland/config.nix index a014d1e..5452bb1 100644 --- a/modules/home/hyprland/config.nix +++ b/modules/home/hyprland/config.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, host, ... }: { fonts.fontconfig.enable = true; home.packages = [ @@ -58,7 +58,14 @@ source = "~/nixos-config/modules/home/hyprland/displays.conf"; "debug:disable_scale_checks" = true; - monitor = "eDP-1, 2256x1504@60, 0x0, 1.5"; + # monitor = "eDP-1, 2256x1504@60, 0x0, 1.5"; + monitor = + if (host == "sakura") then + "eDP-1, 2256x1504@60, 0x0, 1.5" + else if (host == "zinnia") then + "eDP-1, 1920x1080@60, 0x0, 1.0" + else + ", preferred, auto, 1"; # autostart exec-once = [ From 863e43f7e95bc5d1a9841fced770927e601417f4 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 27 Jul 2025 00:15:39 +0200 Subject: [PATCH 23/26] feat: adds key for `zinnia` to ssh config for all devices --- modules/core/sshd.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/core/sshd.nix b/modules/core/sshd.nix index 36f4637..9cccd6d 100644 --- a/modules/core/sshd.nix +++ b/modules/core/sshd.nix @@ -14,9 +14,11 @@ networking.firewall.allowedTCPPorts = config.services.openssh.ports; users.users.liv.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # main laptop - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2nsQHyWnrmuQway0ehoMUcYYfhD8Ph/vpD0Tzip1b1 liv@meow" # main phone - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # 2nd laptop + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # sakura + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # ichiyo + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEDltZ7vfyrLrl32TIWCC3iUx40TrCtIz6Ssi/SZvikg liv@zinnia" # zinnia + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7mHVQp99G0osUAtnVoq5TARR8x5wjCkdbe7ChnzLRa liv@azalea" # linux phone + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2nsQHyWnrmuQway0ehoMUcYYfhD8Ph/vpD0Tzip1b1 liv@meow" # xz1c ]; } From aa3b1439b059deae246ccc75a7fe7961b972ccd8 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 27 Jul 2025 00:16:39 +0200 Subject: [PATCH 24/26] feat: adds `gp` abbreviation --- modules/home/zsh.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home/zsh.nix b/modules/home/zsh.nix index 795ddf1..28fde10 100644 --- a/modules/home/zsh.nix +++ b/modules/home/zsh.nix @@ -147,6 +147,7 @@ gcm = "git commit -m"; gph = "git push -u origin main"; g = "git"; + gp = "git pull"; calc = "eva"; wikipedia = "wikit"; From f78c95efe3200edceaf2378654e85df65c90d533 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 27 Jul 2025 00:17:02 +0200 Subject: [PATCH 25/26] feat: adds script to install python-pip packages for when required --- modules/home/packages.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/home/packages.nix b/modules/home/packages.nix index 4c503db..53f5652 100644 --- a/modules/home/packages.nix +++ b/modules/home/packages.nix @@ -62,6 +62,13 @@ android-tools sshpass + # Install pip packages + # python3 + # python3Packages.pip + # (writeShellScriptBin "install-pip-packages" '' # This script does not run, yet. + # pip install --user --break-system-packages + # '') + # GUI shit element-desktop gajim From 825b6ecced905b7b9ced007c0f1d8f4f7d747823 Mon Sep 17 00:00:00 2001 From: Ahwx Date: Sun, 27 Jul 2025 00:41:43 +0200 Subject: [PATCH 26/26] feat: actually set theme; also enable silent boot --- modules/core/plymouth.nix | 43 +++++++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/modules/core/plymouth.nix b/modules/core/plymouth.nix index 042236e..384b4b6 100644 --- a/modules/core/plymouth.nix +++ b/modules/core/plymouth.nix @@ -5,19 +5,36 @@ }: { # TODO: add https://github.com/FraioVeio/plymouth-xp-theme - boot.loader.timeout = 1; - boot.plymouth = { - enable = lib.mkDefault true; - themePackages = with pkgs; [ - # By default we would install all themes - (adi1090x-plymouth-themes.override { - selected_themes = [ "lone" ]; - # selected_themes = [ "sliced" ]; - # selected_themes = [ "rings" ]; - # selected_themes = [ "red_loader" ]; - # selected_themes = [ "dna" ]; - # selected_themes = [ "hexagon_dots" ]; - }) + boot = { + plymouth = { + enable = lib.mkDefault true; + theme = "lone"; + themePackages = with pkgs; [ + # By default we would install all themes + (adi1090x-plymouth-themes.override { + selected_themes = [ "lone" ]; + # selected_themes = [ "sliced" ]; + # selected_themes = [ "rings" ]; + # selected_themes = [ "red_loader" ]; + # selected_themes = [ "dna" ]; + # selected_themes = [ "hexagon_dots" ]; + }) + ]; + }; + + # Enable "Silent boot" + consoleLogLevel = 3; + initrd.verbose = false; + kernelParams = [ + "quiet" + "splash" + "boot.shell_on_fail" + "udev.log_priority=3" + "rd.systemd.show_status=auto" ]; + # Hide the OS choice for bootloaders. + # It's still possible to open the bootloader list by pressing any key + # It will just not appear on screen unless a key is pressed + loader.timeout = 1; }; }