From 7c51db83594ef42d7631d5c2e085ed874476957e Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 00:08:37 +0100 Subject: [PATCH 1/9] lilith-pad --- flake.nix | 25 ++++++-------- hosts/lilith-pad/hardware-configuration.nix | 38 +++++++++++++++++++++ hosts/lilith-pc/config.nix | 3 -- hosts/lilith-pc/default.nix | 12 +++---- system/core/default.nix | 3 +- system/core/nix.nix | 6 +--- 6 files changed, 55 insertions(+), 32 deletions(-) create mode 100644 hosts/lilith-pad/hardware-configuration.nix delete mode 100644 hosts/lilith-pc/config.nix diff --git a/flake.nix b/flake.nix index 268788a4..52e2479b 100644 --- a/flake.nix +++ b/flake.nix @@ -56,21 +56,17 @@ } @ inputs: let inherit (nixpkgs) lib; - systemFromHardwareConf = - hostname: - let - hardware = import ./hosts/${hostname}/hardware-configuration.nix; - args = builtins.functionArgs hardware // { lib.mkDefault = lib.id; }; - in + systemFromHardwareConf = hostname: let + hardware = import ./hosts/${hostname}/hardware-configuration.nix; + args = builtins.functionArgs hardware // {lib.mkDefault = lib.id;}; + in (hardware args).nixpkgs.hostPlatform; - importNixpkgs = system: nixpkgs: - let - config.allowUnfreePredicate = - pkg: - builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; - in - import nixpkgs { inherit system config; }; + importNixpkgs = system: nixpkgs: let + config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; + in + import nixpkgs {inherit system config;}; makeHost = host: system: lib.nixosSystem { @@ -83,14 +79,13 @@ ./system {networking.hostName = host;} - ./home + ./home ]; }; in { nixosConfigurations = lib.pipe ./hosts [ builtins.readDir (lib.filterAttrs (_: type: type == "directory")) - # (lib.filterAttrs (name: _: builtins.pathExists ./hosts/${name}/default.nix && builtins.pathExists ./hosts/${name}/hardware.nix && builtins.pathExists ./hosts/${name}/config.nix)) (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) ]; }; diff --git a/hosts/lilith-pad/hardware-configuration.nix b/hosts/lilith-pad/hardware-configuration.nix new file mode 100644 index 00000000..5df571e2 --- /dev/null +++ b/hosts/lilith-pad/hardware-configuration.nix @@ -0,0 +1,38 @@ +# 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" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/080fa116-424e-4079-a2a6-658a230e2721"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/40E8-A12D"; + fsType = "vfat"; + }; + + 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.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/lilith-pc/config.nix b/hosts/lilith-pc/config.nix deleted file mode 100644 index efab0596..00000000 --- a/hosts/lilith-pc/config.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - system = "x86_64-linux"; -} diff --git a/hosts/lilith-pc/default.nix b/hosts/lilith-pc/default.nix index d257187b..b3e714d0 100644 --- a/hosts/lilith-pc/default.nix +++ b/hosts/lilith-pc/default.nix @@ -1,22 +1,20 @@ -{ config, lib, ...}: { - +{lib, ...}: let + mkHostOverride = lib.mkOverride 75; +in { system.stateVersion = "24.11"; desktop.enable = true; gaming.enable = true; nfs.client.enable = true; auto_styling.enable = true; - - home-manager.users."lilith".wayland.windowManager.hyprland.settings = { - input.kb_layout = lib.mkForce "us"; + input.kb_layout = mkHostOverride "us"; - monitor = lib.mkForce [ + monitor = mkHostOverride [ "DP-3, 3840x2160, 0x0, 1.5" "DP-4, 2560x1440, 2560x0, 1" ",preferred,auto,1" ]; }; } - diff --git a/system/core/default.nix b/system/core/default.nix index cc60476a..151cf84f 100644 --- a/system/core/default.nix +++ b/system/core/default.nix @@ -1,4 +1,4 @@ -{ zen-browser, ...}: { +{...}: { imports = [ ./audio.nix ./bluetooth.nix @@ -15,6 +15,5 @@ ./syncthing.nix ./users.nix ./zsh.nix - zen-browser.nixosModules.zen-browser ]; } diff --git a/system/core/nix.nix b/system/core/nix.nix index ccadc8ca..870b737e 100644 --- a/system/core/nix.nix +++ b/system/core/nix.nix @@ -1,4 +1,4 @@ -{ lib, ...}: { +{...}: { nix = { gc = { automatic = true; @@ -12,8 +12,4 @@ trusted-users = ["root" "@wheel"]; }; }; - - # nixpkgs.config.allowUnfreePredicate = (pkg: builtins.elem (lib.getName pkg) [ - # "steam" - # ]); } From 597bd5cc75286980318a0dbba152e8b5ae34351b Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 00:26:15 +0100 Subject: [PATCH 2/9] pad --- flake.nix | 5 +++++ hosts/lilith-pad/default.nix | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 hosts/lilith-pad/default.nix diff --git a/flake.nix b/flake.nix index 52e2479b..22702f48 100644 --- a/flake.nix +++ b/flake.nix @@ -86,6 +86,11 @@ nixosConfigurations = lib.pipe ./hosts [ builtins.readDir (lib.filterAttrs (_: type: type == "directory")) + (lib.filterAttrs ( + name: _: + builtins.pathExists ./hosts/${name}/default.nix + && builtins.pathExists ./hosts/${name}/hardware-configuration.nix + )) (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) ]; }; diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix new file mode 100644 index 00000000..ea8f50d4 --- /dev/null +++ b/hosts/lilith-pad/default.nix @@ -0,0 +1,2 @@ +{...}: { +} From d185bdd9aacbf21facb4deac9e53984720f5ab07 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 19:17:05 +0100 Subject: [PATCH 3/9] pad --- hosts/lilith-pad/default.nix | 15 +++++++++- hosts/lilith-pad/secrets/default.yaml | 40 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 hosts/lilith-pad/secrets/default.yaml diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index ea8f50d4..4285ee7f 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -1,2 +1,15 @@ -{...}: { +{lib, ...}: let + mkHostOverride = lib.mkOverride 75; +in { + desktop.enable = true; + gaming.enable = false; + nfs.client.enable = true; + auto_styling.enable = true; + + home-manager.users."lilith".wayland.windowManager.hyprland.settings = { + monitor = mkHostOverride [ + "eDP-1, 1920x1080, 0x0, 1" + ", perferred, auto, 1" + ]; + }; } diff --git a/hosts/lilith-pad/secrets/default.yaml b/hosts/lilith-pad/secrets/default.yaml new file mode 100644 index 00000000..5bcd728e --- /dev/null +++ b/hosts/lilith-pad/secrets/default.yaml @@ -0,0 +1,40 @@ +user: + password: ENC[AES256_GCM,data:k4BAMMKgSsNAnCy5RJfhQPJG4P49hHTFVJDvc8ArqY3VeEH60XPK+m+b8vAHc4nUCt7dNRxuMG365/9jJhZI+DiX6614fe+Iug==,iv:PmNOUnu2eBhdtWB4Gkpj4RbHwV5Ac/UPJSF0XifWSzE=,tag:MeoLAKHM0hiylaFBOqpNPw==,type:str] + ssh: + public: ENC[AES256_GCM,data:4bA7PVMd8UY1D93A85S6yPIIbAt4FfbQN72lOZ3Pf+su4MGQvz9UcN6a+b+p/Qo8us4sjXutfdPiv5qDEnsDvc0uuS9R8avSw/vqzfF4rQ7NAn59/fjAJwcaPwwTqsTiBXFhcOs=,iv:qZKApe16ElXdw8MOePyvo1wqpXnTD651w0122omu+ik=,tag:P9fxALfO74yK8aSazgX68g==,type:str] + private: ENC[AES256_GCM,data:INtOHRiH+lTGH6zTtjzO/VoYsNRVFBDaWpTjAnHEv+YgXAslHTF7AvFoM9XKvjLCe3x3celD8r4yd//vof6WRuGpr4foIN09CXS0VO0fEkcNo224ajNc+FGEUNzeWjCqDW8Jvlyq7tEE+ywjVM4MF/IeyHM3Oh93gTprq+ZjzXYfXuqElVzlcLJaOGIAXmqWqUtzmGh7xx2TXfapkCi8oHm3cx7/A8FG7kBxyCcJ/3aIzrWZo5zHdts8l+qB5hc86vwHVZ3WVBfuXKpTaXCzQHRRaw7vaIP5O2V8bpU8p56TxYDl9N8GrbF5S38AxwtW+FHZKLXD33I3uQk4qztpvT8AvStnMM4x2D8JIhWN7LYmbMFuJng5UfzwLveIVPl5MIHAtVvk2W/QTw/5+kbqHIud3UWv5o/vbnm8l88q5WlO0U9CgRmV0FPTK/hdEj+tEUR6AzFi/Ea6Qiv0BGVGLOHWYszfXzKA1mss+MteR9k+PQqx4wsQM9nWnMOTQGf99RMyeHG1u68gsKy55dvEMXx0lo2iUcdBttVHZaUP5baiOhr6VS74rBxpeLBN03Vzj6A6fG1b2u6V5vSZ6sC1MFlgL1gjwLzGlqi3thVAV9g=,iv:CHie+Sns7HefRwBqdo2Gw1UexHS+W1y6t4etbHA//5Y=,tag:X3U1+wHVzRBUOl8sNo8jtg==,type:str] +syncthing: + cert.pem: ENC[AES256_GCM,data:zVGfurUvMA28jtWqBBHmlz+ujHGd9/ogZYLL1AMb8njzi5BJZHW0+QaHhLqjw7BKNs9CDmpIhIytvkY9WFoQ6zJe477ndXr7lPDdpoLkEDCZKXypVjAOuqHXTXJ44RI6hU87347bq2BP1Ph9847hryA4iWicdhYLj0SrFcQVu2MnGWJZ75k1eUqELjgT6rqmR7jzRs0Z4mGaGRwrG1Bi76mkfrOe0SVV6iE8Kk3U3iYDcqraWbS3Y3Fdr+UgPuK7uJ5RO5MFMjS1CHmUvo+K/tgcH74r2NS7FQBHnG5Ec0MMW1r08W5odd93oAJUC/PWYUW4giSahp1G+GyGMO3NSmTMW5PJ524I8izRRVg2jO9usv6ukxC9oUV4DIz9kpj9yVnHA7MJCw6yJTveLQMumYxKyorQUxkPDAyYty56D56mOnaxgRT7GsDkuj6VJ5aujqvzUq1f7bwxe43g75IY5BQpzWOufsCvnGt76dmZw3+gdsw4noQEv+Hm3FOvLnBA8H0hzDAtIs0Yy4GdviZj0687ZqAdM8y6+hOvC6UxSm5OkplCAi2E5yte5OS6csvMWR2atT6D13jZFU3PL7aIw0Z8y2Gx/jVlr68UHOn6jvonQzc2+fZmcQJL8aHW6jsDroIYHbl98OAFg+WE/Yp/lV3ffczhfzoH25qL8AHiHXwsBPOVkkpFSBxrNO2XFeDIEkl73amjCvkM1X3AxHBTgCgK2Y2kkvpwOiwUQdt5/YcLGgIWkpHpPDfGiqOkkMsWZbGcGPQtkUnhu16ul4+NUFDwiE2CYaw5+cPpdLq8DWv//V0iKcHP4jinYM+ZaUIh1loupdinhGKIeX+xNFcf9kB6dcdjR7TliN7gb5ekynSxjHM3i3EFp47bhkMbQpLVzOKZ8vgeb/eVU+t97lPNxhioHAeRPwIoxq8lnLHhY7p7AN0gzsfOeDKz2BuxaaFI0DCg63aJC2nHpvy+5lWtWYto6rUB2q4JTA9oKm6RLDcDaYTLfpQtM9sdH9N5TDsCukPVm+e6gr9AbjG8IFt9QUGb0UxzkqY20bI=,iv:XIhlEi02Il+RdKPjqRIPCg1ooij8ipTbbUZlupijTVg=,tag:7mU3OWolhHxtsN6rHs8vIQ==,type:str] + key.pem: ENC[AES256_GCM,data:fo8ejY1p+oBwy4L5WiecLQLkwKVdVEi7fzKb8/ACD+7qKXMk+MChW1MeUrFjWCHtHIdw3Ld7SrCmEC/3cqL87aFiZFBOv/cV4Jkvy1kEmZLuKo8wM5Vn+7Ec4WVDAbqhiT5MEgaWHdSgmv2kvkeUnH4LJSx9uohRTgKlO0eIqY9aXO5PqZEPLuHvvTrUi1OCvadaAsKHx3yqTm2tuqK7mPzOL2A4WLQRMKSlQIbzgTz2CShql8D6/crzIAoQVnXf+/KbqzRw3NKtIzQA0aSx1tA4DjPSugWkx+sqjUShYOfZ8Rnbto5/Nbmk4QTaCkvsOli4lazGAKmPtMVBXfbFvZUXiZ/QoawVmsw1MMCCtaRpV7cEAKHJCZ+lRA4CUoJm,iv:JQHPAdW1gJxpZaBcY/BdRBweEYAAj0ZWwAeHFR4J5zo=,tag:i5VWdxTu+Wez3poflwGiog==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1mqw75xvd2gnhx2wsmkr8yctegjfym6xkypwjh82s3yws2glk4vms3cxqaz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRWRJOWZQY1ZpWGQ4ZXND + RC83eEZGZkVjelkxZDNkdlMvODN6a0dnWFRRCmxGT0U1dWJ1bWJDQVRHYmlQMHZQ + Z0Rza3dYNi9iTFZLSUVuL0UwUzVZNk0KLS0tIDd2eDNWYjd5MC9mcTd3clFBdmpY + OW5yTndZYU16NTYrdDZRUjZJS25VbEUKmD4HAa0e2p8SRw5mlzgh+ByFqCDhj8wv + QumEed0Hb9jve8aO8K9MEayxi5jIULFYuYWD8D1RF/74UGrgBTAykA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-03-15T23:51:41Z" + mac: ENC[AES256_GCM,data:ey5F1mZf8Ndm+9hJo38X6dhD6cVZ1T+YjtHSQsCjzpT9va8/zmsic5VMS5rlxCsR7TtiJG+sN6xQ9rsvQjE/mCSb8raQTCRa0XufpO7Yqekwyi8fOWdVf6tBIbdSOkJDARD4AVmmGRZWpTHAX2oMnH/rYT0+MOZQ6Q6LQ7lumq8=,iv:6hntrUy0jlkdp5MIV6GNvGbNYFrcOgKoWaIU/vORg88=,tag:7rcHIuubqZk1RlppgXYiZQ==,type:str] + pgp: + - created_at: "2025-03-15T23:51:35Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DCgMW7d7co2gSAQdAbaGKvZ8a7yxQcjrCPON8SFJC1rlZDdKZfZ9LXQubbkMw + e94lKw5Tq2cn5iwGgRvYG6CmxLXmX6rk9ylVyKPWzHPjiA3Pk1eiTZ6neStFoKWG + 1GgBCQIQjsaVzLGjQWWxc87gRkwpTHTS2GCSnUz06E4gD42JuUKO5Au/IHWwLmua + HDrwSNqAlns1mALRm7Nb0R68EFouc532WQdpUK1F8T0454wHyOnMvE1fzBkiGSrq + 9g50Dinv/s3ALQ== + =Sk/E + -----END PGP MESSAGE----- + fp: 3586D8D6689B9C9ECD598C588712A0F317C37175 + unencrypted_suffix: _unencrypted + version: 3.9.2 From b680a9fb53357945df0afcd3a53d2d7155ae3510 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 19:17:31 +0100 Subject: [PATCH 4/9] changes --- home/lilith/default.nix | 2 +- home/lilith/helix.nix | 51 +++++++++++++++++++++++++++++++++++++++++ home/lilith/persist.nix | 11 +++++---- system/default.nix | 1 - 4 files changed, 58 insertions(+), 7 deletions(-) diff --git a/home/lilith/default.nix b/home/lilith/default.nix index f7efd19d..0d30e22f 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -1,4 +1,4 @@ -{ sops-nix, stylix, ...}: { +{sops-nix, ...}: { imports = [ sops-nix.homeManagerModules.sops diff --git a/home/lilith/helix.nix b/home/lilith/helix.nix index de5bd6d2..906f94ce 100644 --- a/home/lilith/helix.nix +++ b/home/lilith/helix.nix @@ -1,5 +1,6 @@ { pkgs, + lib, ... }: { programs.helix = { @@ -31,6 +32,10 @@ ]; separator = "|"; }; + inline-diagnostics = { + cursor-line = "hint"; + other-lines = "warning"; + }; lsp = { display-messages = true; display-inlay-hints = true; @@ -48,5 +53,51 @@ }; }; }; + + languages = { + language-server = { + rust-analyzer = { + config = { + checkOnSave.command = "clippy"; + cargo.features = "all"; + cargo.unsetTest = []; + }; + }; + pyright = { + command = "${pkgs.pyright}/bin/pyright-langserver"; + args = ["--stdio"]; + config = {}; + }; + nil.command = "${pkgs.nil}/bin/nil"; + bash-language-server = { + command = "${pkgs.bash-language-server}/bin/bash-language-server"; + args = ["start"]; + }; + }; + + language = [ + { + name = "python"; + auto-format = true; + language-servers = [{name = "pyright";}]; + formatter = { + command = "/bin/sh"; + args = [ + "-c" + "${pkgs.isort}/bin/isort - | ${pkgs.black}/bin/black -q -l 120 -C -" + ]; + }; + } + { + name = "nix"; + auto-format = true; + language-servers = [{name = "nil";}]; + formatter = { + command = lib.getExe pkgs.nixfmt-rfc-style; + args = ["-s"]; + }; + } + ]; + }; }; } diff --git a/home/lilith/persist.nix b/home/lilith/persist.nix index 9eff5e3d..81808ef2 100644 --- a/home/lilith/persist.nix +++ b/home/lilith/persist.nix @@ -1,20 +1,23 @@ -{lib, config, ... }: { +{ + lib, + config, + ... +}: { data = { directories = [ ".config/syncthing" ".config/sops" ".config/keepassxc" - ".config/obsidian" ".config/vesktop" ".gnupg" ".ssh" ".thunderbird" ".mozilla" + ".zen" "nixos" "sync" - "obsidian" "code" ".keepass" ".local/share/PrismLauncher" @@ -28,11 +31,9 @@ cache = { directories = [ ".cache/nix" - ".cache/spotify" ".cache/keepassxc" ".cargo" ".local/state/wireplumber" - "tmp" ]; files = []; }; diff --git a/system/default.nix b/system/default.nix index d843dc98..cde4912e 100644 --- a/system/default.nix +++ b/system/default.nix @@ -3,5 +3,4 @@ ./core ./optional ]; - # system.stateVersion = "24.11"; } From d0cfc409852925b3ff2c246fe6e99ed473c5d6f1 Mon Sep 17 00:00:00 2001 From: Spectre Date: Sun, 16 Mar 2025 22:29:21 +0100 Subject: [PATCH 5/9] pad --- home/lilith/default.nix | 7 ++++--- hosts/lilith-pad/default.nix | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/home/lilith/default.nix b/home/lilith/default.nix index 0d30e22f..20bd8f0a 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -9,13 +9,14 @@ ./env.nix - ./firefox + #zen-browser (WIP) + # ./firefox ./alacritty.nix ./clipman.nix ./common.nix ./direnv.nix - # ./firefox.nix + ./firefox.nix ./fzf.nix ./git.nix ./gpg.nix @@ -25,7 +26,7 @@ ./sops.nix ./ssh.nix ./stylix.nix - ./thunderbird.nix + # ./thunderbird.nix ./zsh ]; } diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index 4285ee7f..1e15a301 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -1,6 +1,8 @@ {lib, ...}: let mkHostOverride = lib.mkOverride 75; in { + system.stateVersion = "24.11"; + desktop.enable = true; gaming.enable = false; nfs.client.enable = true; From 56ea69ea23b79ea96f88af7b63444466a230e597 Mon Sep 17 00:00:00 2001 From: Lilith Date: Mon, 17 Mar 2025 17:02:35 +0100 Subject: [PATCH 6/9] working system on lilith-pad --- flake.lock | 525 ++++++++++++++++++-- flake.nix | 115 +++-- home/lilith/default.nix | 5 +- home/lilith/hyprpanel.nix | 3 +- hosts/lilith-pad/default.nix | 8 +- hosts/lilith-pad/hardware-configuration.nix | 51 +- system/core/syncthing.nix | 51 +- system/optional/stylix.nix | 26 +- 8 files changed, 655 insertions(+), 129 deletions(-) diff --git a/flake.lock b/flake.lock index 3f460e62..2a496250 100644 --- a/flake.lock +++ b/flake.lock @@ -3,27 +3,6 @@ "ags": { "inputs": { "astal": "astal", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738087375, - "narHash": "sha256-GLyNtU9A2VN22jNRHZ2OXuFfTJLh8uEVVt+ftsKUX0c=", - "owner": "aylur", - "repo": "ags", - "rev": "a6a7a0adb17740f4c34a59902701870d46fbb6a4", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "ags", - "type": "github" - } - }, - "ags_2": { - "inputs": { - "astal": "astal_2", "nixpkgs": [ "hyprpanel", "nixpkgs" @@ -43,28 +22,40 @@ "type": "github" } }, - "astal": { + "aquamarine": { "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ - "ags", + "hyprland", "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" ] }, "locked": { - "lastModified": 1737670815, - "narHash": "sha256-ZCxxshGN7XooabArcoGkYSNx5yVunqjKJi2aTv6cznI=", - "owner": "aylur", - "repo": "astal", - "rev": "127e9cdcbf173846a3c40ddc0abfbb038df48042", + "lastModified": 1742213273, + "narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf", "type": "github" }, "original": { - "owner": "aylur", - "repo": "astal", + "owner": "hyprwm", + "repo": "aquamarine", "type": "github" } }, - "astal_2": { + "astal": { "inputs": { "nixpkgs": [ "hyprpanel", @@ -170,6 +161,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -246,7 +253,7 @@ "stylix", "flake-compat" ], - "gitignore": "gitignore", + "gitignore": "gitignore_2", "nixpkgs": [ "stylix", "nixpkgs" @@ -267,6 +274,28 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "stylix", @@ -325,19 +354,255 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1742215578, + "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739049071, + "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprgrass": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "nixpkgs": [ + "hyprgrass", + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742051449, + "narHash": "sha256-is29ny+x0P1rIEiNUNarqzavFdmvLs+rslxihGycklE=", + "owner": "horriblename", + "repo": "hyprgrass", + "rev": "5453be107e8c7b88f6274122d064bf602852745f", + "type": "github" + }, + "original": { + "owner": "horriblename", + "repo": "hyprgrass", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-protocols": "hyprland-protocols", + "hyprland-qtutils": "hyprland-qtutils", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems_2", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1742223160, + "narHash": "sha256-lExsJAtqhTITVBRuRoWklddFekm5CO+nrS2sxG4rsIA=", + "ref": "refs/heads/main", + "rev": "011d7ccb91081ff99f184564ea38d1b9e543a99c", + "revCount": 5899, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + }, + "original": { + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1738422629, + "narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-qt-support": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "8810df502cdee755993cb803eba7b23f189db795", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739048983, + "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1741191527, + "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "72df3861f1197e41b078faa3e38eedd60e00018d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, "hyprpanel": { "inputs": { - "ags": "ags_2", + "ags": "ags", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1740863579, - "narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=", + "lastModified": 1742192123, + "narHash": "sha256-ExYS1EqCY7tpUXkvqw+2JGTqDPyowBMaYmS1Yq5yLdw=", "owner": "jas-singhfsu", "repo": "hyprpanel", - "rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd", + "rev": "14b17c066742565178b4c12076a68bc6a1955f9f", "type": "github" }, "original": { @@ -346,6 +611,56 @@ "type": "github" } }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1741534688, + "narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739870480, + "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1737831083, @@ -363,11 +678,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741865919, - "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", + "lastModified": 1742169275, + "narHash": "sha256-nkH2Edu9rClcsQp2PYBe8E6fp8LDPi2uDBQ6wyMdeXI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", + "rev": "5d9b5431f967007b3952c057fc92af49a4c5f3b2", "type": "github" }, "original": { @@ -416,20 +731,72 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742058297, + "narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { - "ags": "ags", "flake-utils": "flake-utils", "home-manager": "home-manager", + "hyprgrass": "hyprgrass", + "hyprland": "hyprland", "hyprpanel": "hyprpanel", "impermanence": "impermanence", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", + "rose-pine-hyprcursor": "rose-pine-hyprcursor", "sops-nix": "sops-nix", "stylix": "stylix", "zen-browser": "zen-browser" } }, + "rose-pine-hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "nixpkgs" + ], + "utils": [ + "flake-utils" + ] + }, + "locked": { + "lastModified": 1740132177, + "narHash": "sha256-gNc20APKMefFdH5RONBuHhOps14aiMdgIT0I6RaSN64=", + "owner": "ndom91", + "repo": "rose-pine-hyprcursor", + "rev": "568067f35a85932192bd43ddf64fc05eff850f9f", + "type": "github" + }, + "original": { + "owner": "ndom91", + "repo": "rose-pine-hyprcursor", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -437,11 +804,11 @@ ] }, "locked": { - "lastModified": 1741861888, - "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", + "lastModified": 1742209060, + "narHash": "sha256-47/1bOPBGhmAegF06nxLN15d/MClCAkk8s/+WOhJJAM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", + "rev": "b33837ae3cfa012b65810891bebbee71fa4c0658", "type": "github" }, "original": { @@ -457,7 +824,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-utils": [ "flake-utils" ], @@ -470,7 +837,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_3", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -478,11 +845,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1741951718, - "narHash": "sha256-5MfCjwlU6TXlrr8Nkg1TK+gExVPz8/aU8ofbidK2Nlc=", + "lastModified": 1742040559, + "narHash": "sha256-Hb3aw00C1/5ORiTCASwMd8vcLAl/GNJfyjXZyl/EKpc=", "owner": "danth", "repo": "stylix", - "rev": "08e0c91d76e05a61ffe15bcd17ef7fa3160c5bd8", + "rev": "bcc674f1994396137438bac9d905971453d33b12", "type": "github" }, "original": { @@ -507,6 +874,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -625,6 +1007,47 @@ "type": "github" } }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1741934139, + "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "zen-browser": { "inputs": { "nixpkgs": [ @@ -633,11 +1056,11 @@ "zen-browser-flake": "zen-browser-flake" }, "locked": { - "lastModified": 1741737308, - "narHash": "sha256-nC1xqLjDhFFO/wWxXAjtHYOaURPOgTH98G0NLLgwx4U=", + "lastModified": 1742100367, + "narHash": "sha256-Da9QJCWTtcuTNvkL545wT0Kr+DFI8VmKidxwUemVe0E=", "owner": "LunaCOLON3", "repo": "zen-browser-nix", - "rev": "76eef7b7b307e54ba75fb7b7ebb272884c08423a", + "rev": "78174724e79e53f753cb5c7a35eb2535912afabc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 22702f48..5d28644f 100644 --- a/flake.nix +++ b/flake.nix @@ -28,13 +28,14 @@ }; }; - ags = { - url = "github:aylur/ags"; + hyprland = { + url = "git+https://github.com/hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.astal = { - url = "github:aylur/astal"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + }; + + hyprgrass = { + url = "github:horriblename/hyprgrass"; + inputs.hyprland.follows = "hyprland"; }; hyprpanel = { @@ -42,56 +43,74 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + rose-pine-hyprcursor = { + url = "github:ndom91/rose-pine-hyprcursor"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.utils.follows = "flake-utils"; + inputs.hyprlang.follows = "hyprland/hyprlang"; + }; + zen-browser = { url = "github:LunaCOLON3/zen-browser-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { - self, - nixpkgs, - home-manager, - ... - } @ inputs: let - inherit (nixpkgs) lib; + outputs = + { + self, + nixpkgs, + home-manager, + ... + }@inputs: + let + inherit (nixpkgs) lib; - systemFromHardwareConf = hostname: let - hardware = import ./hosts/${hostname}/hardware-configuration.nix; - args = builtins.functionArgs hardware // {lib.mkDefault = lib.id;}; + systemFromHardwareConf = + hostname: + let + hardware = import ./hosts/${hostname}/hardware-configuration.nix; + args = builtins.functionArgs hardware // { + lib.mkDefault = lib.id; + }; + in + (hardware args).nixpkgs.hostPlatform; + + importNixpkgs = + system: nixpkgs: + let + config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; + in + import nixpkgs { inherit system config; }; + + makeHost = + host: system: + lib.nixosSystem { + system = system; + pkgs = importNixpkgs system nixpkgs; + specialArgs = inputs // { + inherit system; + }; + modules = [ + ./hosts/${host}/default.nix + ./hosts/${host}/hardware-configuration.nix + ./system + { networking.hostName = host; } + + ./home + ]; + }; in - (hardware args).nixpkgs.hostPlatform; - - importNixpkgs = system: nixpkgs: let - config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; - in - import nixpkgs {inherit system config;}; - - makeHost = host: system: - lib.nixosSystem { - system = system; - pkgs = importNixpkgs system nixpkgs; - specialArgs = inputs // {inherit system;}; - modules = [ - ./hosts/${host}/default.nix - ./hosts/${host}/hardware-configuration.nix - ./system - {networking.hostName = host;} - - ./home - ]; - }; - in { - nixosConfigurations = lib.pipe ./hosts [ - builtins.readDir - (lib.filterAttrs (_: type: type == "directory")) - (lib.filterAttrs ( - name: _: + { + nixosConfigurations = lib.pipe ./hosts [ + builtins.readDir + (lib.filterAttrs (_: type: type == "directory")) + (lib.filterAttrs ( + name: _: builtins.pathExists ./hosts/${name}/default.nix && builtins.pathExists ./hosts/${name}/hardware-configuration.nix - )) - (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) - ]; - }; + )) + (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) + ]; + }; } diff --git a/home/lilith/default.nix b/home/lilith/default.nix index 20bd8f0a..46a40815 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -1,4 +1,5 @@ -{sops-nix, ...}: { +{ sops-nix, ... }: +{ imports = [ sops-nix.homeManagerModules.sops @@ -26,7 +27,7 @@ ./sops.nix ./ssh.nix ./stylix.nix - # ./thunderbird.nix + ./thunderbird.nix ./zsh ]; } diff --git a/home/lilith/hyprpanel.nix b/home/lilith/hyprpanel.nix index 5d63f54a..a90d8399 100644 --- a/home/lilith/hyprpanel.nix +++ b/home/lilith/hyprpanel.nix @@ -1,4 +1,5 @@ -{hyprpanel, ...}: { +{ hyprpanel, ... }: +{ imports = [ hyprpanel.homeManagerModules.hyprpanel ]; programs.hyprpanel = { diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index 1e15a301..4be6ba77 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -1,6 +1,8 @@ -{lib, ...}: let +{ lib, ... }: +let mkHostOverride = lib.mkOverride 75; -in { +in +{ system.stateVersion = "24.11"; desktop.enable = true; @@ -11,7 +13,7 @@ in { home-manager.users."lilith".wayland.windowManager.hyprland.settings = { monitor = mkHostOverride [ "eDP-1, 1920x1080, 0x0, 1" - ", perferred, auto, 1" + ", preferred, auto, 1" ]; }; } diff --git a/hosts/lilith-pad/hardware-configuration.nix b/hosts/lilith-pad/hardware-configuration.nix index 5df571e2..29b82666 100644 --- a/hosts/lilith-pad/hardware-configuration.nix +++ b/hosts/lilith-pad/hardware-configuration.nix @@ -5,8 +5,7 @@ { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; boot.initrd.kernelModules = [ ]; @@ -14,16 +13,54 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/080fa116-424e-4079-a2a6-658a230e2721"; - fsType = "ext4"; + { device = "tmpfs"; + fsType = "tmpfs"; + options = [ + "defaults" + "size=100%" + "mode=755" + ]; }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/40E8-A12D"; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/3DFB-F4BF"; fsType = "vfat"; + options = [ "umask=0077" ]; }; - swapDevices = [ ]; + fileSystems."/persist/data" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=@data" "noatime" "compress=zstd" ]; + }; + + fileSystems."/persist/cache" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=@cache" "noatime" "compress=zstd" ]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=@nix" "noatime" "compress=zstd" ]; + }; + + fileSystems."/swap" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + options = [ "subvol=@swap" "noatime" ]; + }; + + swapDevices = [ + { + device = "/swap/swapfile"; + priority = 0; + } + ]; # 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 diff --git a/system/core/syncthing.nix b/system/core/syncthing.nix index bb066946..de736162 100644 --- a/system/core/syncthing.nix +++ b/system/core/syncthing.nix @@ -1,6 +1,8 @@ -{ config, sops, ...}: let - host = config.networking.hostName; - in { +{ config, ... }: +let + host = config.networking.hostName; +in +{ sops.secrets."syncthing/key.pem" = { sopsFile = ../../hosts/${host}/secrets/default.yaml; @@ -19,25 +21,44 @@ overrideDevices = true; overrideFolders = true; - settings = { - key = config.sops.secrets."syncthing/key.pem".path; - cert = config.sops.secrets."syncthing/cert.pem".path; + key = config.sops.secrets."syncthing/key.pem".path; + cert = config.sops.secrets."syncthing/cert.pem".path; + settings = { devices = { - "phone" = {id = "C2CKYRP-72UNJRX-MUPZIUY-CCHQYGF-6T4NA6B-MO7AEZB-RSN5EAG-CN2JCAF";}; - "nixserver" = {id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ";}; - "lilith-pc" = {id = "37HHP4Q-NNQRQPQ-MVSIHAX-BK2A3GL-O6K4WXA-Y7ZQ5GZ-BY4UTFH-LG4HYAY";}; - "lilith-pad" = {id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK";}; - "lilith-old" = {id = "MSUZJ6K-4CIFE5D-ILO6FE4-SPRPTZI-VEWZQ7F-ECARCCF-2VLVMDQ-2HQUAAS";}; + "lilith-phone" = { + id = "N3VHPZJ-DARZYPM-TIBLRAZ-KN6QWYJ-VU6FP2N-INYVJZ3-ZSUD63P-NSXLIQ6"; + }; + "lilith-lab" = { + id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ"; + }; + "lilith-pc" = { + id = "37HHP4Q-NNQRQPQ-MVSIHAX-BK2A3GL-O6K4WXA-Y7ZQ5GZ-BY4UTFH-LG4HYAY"; + }; + "lilith-pad" = { + id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK"; + }; }; folders = { - "rdcj2-mfyb4" = { + "sync" = { + id = "rdcj2-mfyb4"; path = "/home/lilith/sync"; - devices = ["phone" "nixserver" "lilith-pad" "lilith-pc" "lilith-old"]; + devices = [ + "lilith-phone" + "lilith-lab" + "lilith-pad" + "lilith-pc" + ]; }; - "sdpfs-2beqd" = { + "keepass" = { + id = "sdpfs-2beqd"; path = "/home/lilith/.keepass"; - devices = ["phone" "nixserver" "lilith-pad" "lilith-pc" "lilith-old"]; + devices = [ + "lilith-phone" + "lilith-lab" + "lilith-pad" + "lilith-pc" + ]; }; }; }; diff --git a/system/optional/stylix.nix b/system/optional/stylix.nix index cf2ac637..43a9e157 100644 --- a/system/optional/stylix.nix +++ b/system/optional/stylix.nix @@ -1,4 +1,11 @@ -{pkgs, stylix, config, lib, ...}: { +{ + pkgs, + stylix, + config, + lib, + ... +}: +{ imports = [ stylix.nixosModules.stylix ]; options.auto_styling.enable = lib.mkEnableOption "Enable Stylix"; @@ -16,6 +23,16 @@ }; fonts = { + serif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Serif"; + }; + + sansSerif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Sans"; + }; + monospace = { package = pkgs.nerd-fonts.jetbrains-mono; name = "JetBrainsMono Nerd Font"; @@ -26,7 +43,12 @@ name = "Twemoji"; }; - sizes = { applications = 14; desktop = 12; popups = 12; terminal = 14; }; + sizes = { + applications = 14; + desktop = 12; + popups = 12; + terminal = 14; + }; }; cursor = { From a22cc6450e7a68db47aefed357f3600fb1001a0b Mon Sep 17 00:00:00 2001 From: Lilith Date: Mon, 17 Mar 2025 19:11:32 +0100 Subject: [PATCH 7/9] ssh-remote --- home/lilith/stylix.nix | 3 ++- secrets/default.yaml | 44 +++++++++++++++++++++++++++++++++++++ system/core/ssh.nix | 19 +++++++++++++--- system/optional/desktop.nix | 14 +++++++++--- system/optional/stylix.nix | 1 + 5 files changed, 74 insertions(+), 7 deletions(-) create mode 100644 secrets/default.yaml diff --git a/home/lilith/stylix.nix b/home/lilith/stylix.nix index 7abb8d3b..02bffc23 100644 --- a/home/lilith/stylix.nix +++ b/home/lilith/stylix.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ stylix.targets = { firefox.enable = true; }; diff --git a/secrets/default.yaml b/secrets/default.yaml new file mode 100644 index 00000000..8f067073 --- /dev/null +++ b/secrets/default.yaml @@ -0,0 +1,44 @@ +ssh: + nixremote: + public: ENC[AES256_GCM,data:cpgaIleEj+S0AdPnZQ0HeOS44SZNRljSCzi2uzMfA/vb4rmXWPqE+Yh0yG+UD0UThEYmVkZnvK5JNps2lTvp3Dqo92rYLQrn14vFP8yCQMU=,iv:9R5n3yE5yx0JLESRqax2ZWuYFR2XT1Xd882BU/SnAdQ=,tag:IIykViHleEO2lgu1Tjz5pw==,type:str] + private: ENC[AES256_GCM,data:7nT/pKf9rfUDQrRgXH/trJ7jv7C+1L71ZiAWK8uKbfYyonHzq3EJZ5hjSiP+9NFa1qoisL3JH/cv5kuDR8FZFLVTv0+oLW55YPD7SOAzVAeL45cnHzgaVvz7CCikve3ZtGHKurqyUcN7MXKDOqwnuQ1tcvzhAmfDBWwbnheUylmokBq20+eivjQ7AGt1lc0e0J2tpEZDdlUOrVFQd0QdoGBGOnadh/yA6fARfZb9oOYryooV1cGhlzoJNQ9/jXEasIDN+GDaNRpvXK5bvWKBNVmNF4QLnt9wJjIVfnpG6IrJJ2yduecgwAFnKj5Gn7NAkJ9RJzE0ysHLWYnIZWm8TGaBaphQLsmd6VJ/47nAiwfAGVoaCWI45lAFwEu9eEdbZn9joQvBFGsE6TEBbjb/JDWSzHFFwFDHNsApIs0w1FN6qEea2BoI6VINgwgzzcyV7XJNPqHd9KFQSSe7eqKAl6OiCGRxrF2pLzTohX/NCDkorkfdDLJ/DlEe+8B+Qe+IGDNtnbzLGDftI+GWYsSyjrUwGXcTSq1meIBB,iv:UBQb9m85xeYioV7VDi5tr7T75MTG9yddBMXASRwvq3A=,tag:1fkwUF1ZuvxNU6ntoXGk0w==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1mqw75xvd2gnhx2wsmkr8yctegjfym6xkypwjh82s3yws2glk4vms3cxqaz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3U1h5dy8xRkc5YUY2Si91 + dU81eEtjTzVDa2N2My9ycmp1aFRweHcwcTJjClJhY1laNmp5ZG9VN1UwTGdGMVZo + N1luQldHNzBYb2dpRGQrbkFwc1V4YUEKLS0tIGxzQU9QUHVzWWt5UnNLT0lYMnpJ + TnFFQXNEUDZTdVlOVkV2RVQyaWRRcEUKb/3gZ4lIfWeb6fXcUgdizdG158tpv0hm + objc1wG5HjIGiIZoJSvGmI5PnZzmKf8LFjMMfUP2m2JUVpOFKL2baQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1pyav93usza3s363g56687yxh9jmp364w32gs77le7t0cgg7jveyq4zcl6v + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2S0pYL1kwZ2M4VkZWQ3Bl + WHdUUDJjOVQ3TkZWRDVGMkJoTnJPWkRWQlM0Cks1SVAwV0M3K3dHRkNHd3JvSEFF + QzNCa0ZFWWRLdkhOY0UrZHJNTVFrZEkKLS0tIGtaM2QwK1V3TUxlYkRyWTM3THls + endmMkVMRjgvb05ycS9SamFOUk54QVUKB7eaUO/4Ttxjtt3/ZoryQiHeodnTcqHy + 7Z4xQ21bWqDK3Bw/IaYsMEu1GJ5ZR7KcNENnuoU8wza3ymLv60Xzgw== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-03-17T17:44:37Z" + mac: ENC[AES256_GCM,data:ws3pqokNCWVxXgXOFI8mDZQ9XTY1G8WZEEVzk3mD/+ERynLoD4xcPHL5tu3EisPBNIe90olnQy7/FwN8ZOkUl7UWjTPfCOPBqpY8P253YHz5mSdBp3U+9x16nbQHXH2InTzQQwbj7Z2Uz6kzz7Tk8tg8x+zli8lqWwFdpqv7p2k=,iv:Eqw4Q4Yy8/Yq8avXJ3na3lnu275YLvnacjluB++ta54=,tag:FcJDDJtPLm4pCG7ZKWCK0Q==,type:str] + pgp: + - created_at: "2025-03-17T17:42:02Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hF4DCgMW7d7co2gSAQdA6aDjYqTJFftxYboMahLPLvKcqzy++N+t6iKVR0J0k2sw + HroxiisYugH8mXue6VkCprlXiNt0M61gDLK1EeiUpN3FqqTxkKiKzF/kQRTrHJGU + 0l4BwaRyJyL+2Of0SwmB8rKfeVqSGW/PExZnrRrTRYxqxxaZwqNHqFxlQBC+COBg + u/h2KP2NCz5O5Pt1rjPWxlLcz0TsxPH8a4HiBQfmiwM91dowvq+6mWVcwW5NAmf5 + =EnO5 + -----END PGP MESSAGE----- + fp: 3586D8D6689B9C9ECD598C588712A0F317C37175 + unencrypted_suffix: _unencrypted + version: 3.9.4 diff --git a/system/core/ssh.nix b/system/core/ssh.nix index 3aeb7287..bf68f6eb 100644 --- a/system/core/ssh.nix +++ b/system/core/ssh.nix @@ -1,11 +1,24 @@ -{...}: { - networking.firewall.allowedTCPPorts = [22]; +{ ... }: +{ + networking.firewall.allowedTCPPorts = [ 22 ]; + + sops.secrets."ssh/nixremote/private" = { + sopsFile = ../../secrets/default.yaml; + path = "/root/.ssh/nixremote"; + }; + services.openssh = { enable = true; - ports = [22]; + ports = [ 22 ]; settings = { PermitRootLogin = "no"; PasswordAuthentication = false; }; + extraConfig = '' + Host lilith-server-builder + HostName 2a01:4f9:4a:1ecb::2 + User nixremote + IdentityFile /root/.ssh/nixremote + ''; }; } diff --git a/system/optional/desktop.nix b/system/optional/desktop.nix index 1d634829..ab6ed1e0 100644 --- a/system/optional/desktop.nix +++ b/system/optional/desktop.nix @@ -1,15 +1,23 @@ -{ config, lib, ...}: { +{ + config, + lib, + pkgs, + hyprland, + ... +}: +{ options.desktop.enable = lib.mkEnableOption "Enable Wayland compositor with hyprland login"; config = lib.mkIf config.desktop.enable { hardware.graphics.enable = true; - + security.polkit.enable = true; - security.pam.services.hyprlock = {}; + security.pam.services.hyprlock = { }; services.dbus.enable = true; programs.hyprland.enable = true; + programs.hyprland.package = hyprland.packages.${pkgs.stdenv.system}.hyprland; services.greetd = { enable = true; diff --git a/system/optional/stylix.nix b/system/optional/stylix.nix index 43a9e157..70911a58 100644 --- a/system/optional/stylix.nix +++ b/system/optional/stylix.nix @@ -54,6 +54,7 @@ cursor = { package = pkgs.rose-pine-cursor; name = "Rosé Pine"; + size = 10; }; }; }; From 1eb67ac0ded33cf2945b43f4998e12986ca9b69f Mon Sep 17 00:00:00 2001 From: Lilith Date: Mon, 17 Mar 2025 21:04:49 +0100 Subject: [PATCH 8/9] hyprgrass --- flake.lock | 18 +++++++++--------- home/lilith/hyprland/default.nix | 15 ++++++--------- home/lilith/hyprland/hyprgrass.nix | 4 ++++ system/core/nix.nix | 23 ++++++++++++++++++++--- system/core/persistence.nix | 24 ++++++++++++++---------- system/core/ssh.nix | 3 +++ system/optional/desktop.nix | 2 +- 7 files changed, 57 insertions(+), 32 deletions(-) create mode 100644 home/lilith/hyprland/hyprgrass.nix diff --git a/flake.lock b/flake.lock index 2a496250..24fbbe01 100644 --- a/flake.lock +++ b/flake.lock @@ -341,11 +341,11 @@ ] }, "locked": { - "lastModified": 1741955947, - "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", + "lastModified": 1742238842, + "narHash": "sha256-Z79yUJi+UGSpRC90NbHyuvBjGLkgEtlZaJ8DtzaGkzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", + "rev": "5a6e5a59a4d332edaa7d5d1604eb58ead27af851", "type": "github" }, "original": { @@ -804,11 +804,11 @@ ] }, "locked": { - "lastModified": 1742209060, - "narHash": "sha256-47/1bOPBGhmAegF06nxLN15d/MClCAkk8s/+WOhJJAM=", + "lastModified": 1742239755, + "narHash": "sha256-ptn8dR4Uat3UUadGYNnB7CIH9SQm8mK69D2A/twBUXQ=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b33837ae3cfa012b65810891bebbee71fa4c0658", + "rev": "787afce414bcce803b605c510b60bf43c11f4b55", "type": "github" }, "original": { @@ -845,11 +845,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1742040559, - "narHash": "sha256-Hb3aw00C1/5ORiTCASwMd8vcLAl/GNJfyjXZyl/EKpc=", + "lastModified": 1742234510, + "narHash": "sha256-dQoo4XivjZuJiSi8ePv9CuP0ncE64RLyz2vb46blRx0=", "owner": "danth", "repo": "stylix", - "rev": "bcc674f1994396137438bac9d905971453d33b12", + "rev": "fa288c0dc695b49c9af38614af8da981371fe92a", "type": "github" }, "original": { diff --git a/home/lilith/hyprland/default.nix b/home/lilith/hyprland/default.nix index bb95eb32..da7cb9c4 100644 --- a/home/lilith/hyprland/default.nix +++ b/home/lilith/hyprland/default.nix @@ -1,9 +1,10 @@ -{ lib, ...}: { +{ lib, ... }: +{ imports = [ ./hyprpaper.nix ./hyprlock.nix -# ./hyprgrass.nix -# ./utils.nix + ./hyprgrass.nix + # ./utils.nix ]; wayland.windowManager.hyprland = { @@ -16,15 +17,11 @@ settings = { "$terminal" = "alacritty"; - env = [ - "HYPRCURSOR_THEME,rose-pine-hyprcursor" - ]; + env = [ "HYPRCURSOR_THEME,rose-pine-hyprcursor" ]; xwayland.force_zero_scaling = true; - monitor = [ - ",preferred,1" - ]; + monitor = [ ",preferred,1" ]; exec-once = [ "hyprlock" diff --git a/home/lilith/hyprland/hyprgrass.nix b/home/lilith/hyprland/hyprgrass.nix new file mode 100644 index 00000000..e8fd84c3 --- /dev/null +++ b/home/lilith/hyprland/hyprgrass.nix @@ -0,0 +1,4 @@ +{ pkgs, hyprgrass, ... }: +{ + wayland.windowManager.hyprland.plugins = [ hyprgrass.packages.${pkgs.system}.default ]; +} diff --git a/system/core/nix.nix b/system/core/nix.nix index 870b737e..61724ee3 100644 --- a/system/core/nix.nix +++ b/system/core/nix.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ nix = { gc = { automatic = true; @@ -8,8 +9,24 @@ settings = { keep-outputs = true; auto-optimise-store = true; - experimental-features = ["nix-command" "flakes"]; - trusted-users = ["root" "@wheel"]; + experimental-features = [ + "nix-command" + "flakes" + ]; + trusted-users = [ + "root" + "@wheel" + ]; + + builders-use-substitutes = true; }; + + distributedBuilds = true; + buildMachines = [ + { + hostName = "lilith-server-builder"; + system = "x86_64-linux"; + } + ]; }; } diff --git a/system/core/persistence.nix b/system/core/persistence.nix index d4d55aa7..a695ec34 100644 --- a/system/core/persistence.nix +++ b/system/core/persistence.nix @@ -1,5 +1,12 @@ -{impermanence, conf, lib, config, ...}: { - imports = [impermanence.nixosModule]; +{ + impermanence, + conf, + lib, + config, + ... +}: +{ + imports = [ impermanence.nixosModule ]; environment.persistence."/persist/data" = { hideMounts = true; @@ -7,20 +14,20 @@ "/etc/NetworkManager/system-connections" "/var/lib/bluetooth" ]; - files = []; + files = [ ]; users.lilith = { directories = [ ".config/syncthing" ".config/sops" ".config/keepassxc" - ".config/obsidian" ".config/vesktop" ".gnupg" ".ssh" ".thunderbird" ".mozilla" + ".zen" "nixos" "sync" @@ -31,7 +38,7 @@ ".local/share/lutris" ".local/share/games" ]; - files = []; + files = [ ]; }; }; @@ -45,9 +52,7 @@ "/var/lib/systemd/timers" "/var/log" ]; - files = [ - "/etc/machine-id" - ]; + files = [ "/etc/machine-id" ]; users.lilith = { directories = [ @@ -55,9 +60,8 @@ ".cache/keepassxc" ".cargo" ".local/state/wireplumber" - "tmp" ]; - files = []; + files = [ ]; }; }; } diff --git a/system/core/ssh.nix b/system/core/ssh.nix index bf68f6eb..9d0d27f1 100644 --- a/system/core/ssh.nix +++ b/system/core/ssh.nix @@ -14,6 +14,9 @@ PermitRootLogin = "no"; PasswordAuthentication = false; }; + }; + + programs.ssh = { extraConfig = '' Host lilith-server-builder HostName 2a01:4f9:4a:1ecb::2 diff --git a/system/optional/desktop.nix b/system/optional/desktop.nix index ab6ed1e0..4bd14a46 100644 --- a/system/optional/desktop.nix +++ b/system/optional/desktop.nix @@ -17,7 +17,7 @@ services.dbus.enable = true; programs.hyprland.enable = true; - programs.hyprland.package = hyprland.packages.${pkgs.stdenv.system}.hyprland; + programs.hyprland.package = hyprland.packages.${pkgs.system}.hyprland; services.greetd = { enable = true; From 0ab5043bf0ea2fced0fc579920d6b9cb37025a7e Mon Sep 17 00:00:00 2001 From: Lilith Date: Tue, 18 Mar 2025 02:09:35 +0100 Subject: [PATCH 9/9] lock --- home/lilith/hyprland/default.nix | 4 +++- home/lilith/hyprland/hyprgrass.nix | 23 +++++++++++++++++++++-- home/lilith/hyprland/hyprlock.nix | 24 ++++++++++++++++++++++-- hosts/lilith-pad/default.nix | 2 ++ system/core/nix.nix | 1 + 5 files changed, 49 insertions(+), 5 deletions(-) diff --git a/home/lilith/hyprland/default.nix b/home/lilith/hyprland/default.nix index da7cb9c4..31b83fca 100644 --- a/home/lilith/hyprland/default.nix +++ b/home/lilith/hyprland/default.nix @@ -1,6 +1,7 @@ -{ lib, ... }: +{ hyprland, ... }: { imports = [ + hyprland.homeManagerModules.default ./hyprpaper.nix ./hyprlock.nix ./hyprgrass.nix @@ -9,6 +10,7 @@ wayland.windowManager.hyprland = { enable = true; + # package = hyprland.packages.${pkgs.system}.hyprland; xwayland.enable = true; diff --git a/home/lilith/hyprland/hyprgrass.nix b/home/lilith/hyprland/hyprgrass.nix index e8fd84c3..571c0b99 100644 --- a/home/lilith/hyprland/hyprgrass.nix +++ b/home/lilith/hyprland/hyprgrass.nix @@ -1,4 +1,23 @@ -{ pkgs, hyprgrass, ... }: { - wayland.windowManager.hyprland.plugins = [ hyprgrass.packages.${pkgs.system}.default ]; + config, + lib, + pkgs, + hyprgrass, + ... +}: +{ + options.desktop.touchSupport = lib.mkEnableOption "Enables touch-related features"; + config.wayland.windowManager.hyprland = lib.mkIf config.desktop.touchSupport { + plugins = [ hyprgrass.packages.${pkgs.system}.default ]; + + settings.plugin.touch_gestures = { + sensitivity = 2.0; + workspace_swipe_fingers = 3; + workspace_swipe_edge = "d"; + + long_press_delay = 500; + resize_on_border_long_press = true; + edge_margin = 20; + }; + }; } diff --git a/home/lilith/hyprland/hyprlock.nix b/home/lilith/hyprland/hyprlock.nix index 0d0b9f52..798eceb0 100644 --- a/home/lilith/hyprland/hyprlock.nix +++ b/home/lilith/hyprland/hyprlock.nix @@ -1,4 +1,5 @@ -{ config, lib, ...}:{ +{ lib, ... }: +{ programs.hyprlock = { enable = true; @@ -26,7 +27,7 @@ input-field = [ { - size = "800, 80"; + size = "30%, 5%"; position = "0, 0"; monitor = ""; dots_center = true; @@ -39,6 +40,25 @@ shadow_passes = 2; } ]; + + label = [ + { + text = "Welcome!"; + position = "0, 20%"; + font_size = 40; + font_family = "JetBrains Mono"; + halign = "center"; + valign = "center"; + } + { + text = "$TIME"; + position = "0, 15%"; + font_size = 25; + font_family = "JetBrains Mono"; + halign = "center"; + valign = "center"; + } + ]; }; }; } diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index 4be6ba77..e5f28216 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -6,6 +6,8 @@ in system.stateVersion = "24.11"; desktop.enable = true; + home-manager.users."lilith".desktop.touchSupport = true; + gaming.enable = false; nfs.client.enable = true; auto_styling.enable = true; diff --git a/system/core/nix.nix b/system/core/nix.nix index 61724ee3..abd0a152 100644 --- a/system/core/nix.nix +++ b/system/core/nix.nix @@ -26,6 +26,7 @@ { hostName = "lilith-server-builder"; system = "x86_64-linux"; + protocol = "ssh-ng"; } ]; };