summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--flake.lock167
-rw-r--r--flake.nix7
-rw-r--r--hosts/disko.nix10
-rw-r--r--hosts/vm/cfg.nix8
-rw-r--r--hosts/vps/cfg.nix39
-rw-r--r--mixins/greet.nix37
-rw-r--r--mixins/hyperland.nix14
-rw-r--r--mixins/hyprland.nix8
-rw-r--r--profiles/network.nix1
-rw-r--r--profiles/user.nix2
-rw-r--r--secrets/id_ed25519.agebin885 -> 1001 bytes
-rw-r--r--secrets/secrets.nix6
12 files changed, 211 insertions, 88 deletions
diff --git a/flake.lock b/flake.lock
index 63c4d5d..9822f46 100644
--- a/flake.lock
+++ b/flake.lock
@@ -2,14 +2,15 @@
   "nodes": {
     "agenix": {
       "inputs": {
+        "darwin": "darwin",
         "nixpkgs": "nixpkgs"
       },
       "locked": {
-        "lastModified": 1673301561,
-        "narHash": "sha256-gRUWHbBAtMuPDJQXotoI8u6+3DGBIUZHkyQWpIv7WpM=",
+        "lastModified": 1675176355,
+        "narHash": "sha256-Qjxh5cmN56siY97mzmBLI1+cdjXSPqmfPVsKxBvHmwI=",
         "owner": "ryantm",
         "repo": "agenix",
-        "rev": "42d371d861a227149dc9a7e03350c9ab8b8ddd68",
+        "rev": "b7ffcfe77f817d9ee992640ba1f270718d197f28",
         "type": "github"
       },
       "original": {
@@ -18,6 +19,28 @@
         "type": "github"
       }
     },
+    "darwin": {
+      "inputs": {
+        "nixpkgs": [
+          "agenix",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1673295039,
+        "narHash": "sha256-AsdYgE8/GPwcelGgrntlijMg4t3hLFJFCRF3tL5WVjA=",
+        "owner": "lnl7",
+        "repo": "nix-darwin",
+        "rev": "87b9d090ad39b25b2400029c64825fc2a8868943",
+        "type": "github"
+      },
+      "original": {
+        "owner": "lnl7",
+        "ref": "master",
+        "repo": "nix-darwin",
+        "type": "github"
+      }
+    },
     "home-manager": {
       "inputs": {
         "nixpkgs": [
@@ -26,11 +49,11 @@
         "utils": "utils"
       },
       "locked": {
-        "lastModified": 1674250603,
-        "narHash": "sha256-SBolFspxBHpW3hCCDNAFXUiO2mucmkVmf17UmSIK3Cs=",
+        "lastModified": 1675595366,
+        "narHash": "sha256-WoQkwaaoZqrhWpIrMxA+2j8CgxgyvjHzCyEZAQu06rQ=",
         "owner": "nix-community",
         "repo": "home-manager",
-        "rev": "275ab728912006eecb549338a50f24f294a7cfb7",
+        "rev": "9621e9ab80a038cd11c7cfcae4df46a59d62b16a",
         "type": "github"
       },
       "original": {
@@ -39,13 +62,55 @@
         "type": "github"
       }
     },
+    "hyprland": {
+      "inputs": {
+        "hyprland-protocols": "hyprland-protocols",
+        "nixpkgs": "nixpkgs_2",
+        "wlroots": "wlroots",
+        "xdph": "xdph"
+      },
+      "locked": {
+        "lastModified": 1675606643,
+        "narHash": "sha256-kzM9G1rkP5rZCuEm4JqXmDOndBvilCA4yQJvZFqSq0w=",
+        "owner": "hyprwm",
+        "repo": "Hyprland",
+        "rev": "53945cff3184cfdff3ed978e072b4ed65e3b2ec5",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "Hyprland",
+        "type": "github"
+      }
+    },
+    "hyprland-protocols": {
+      "inputs": {
+        "nixpkgs": [
+          "hyprland",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1671839510,
+        "narHash": "sha256-+PY1qqJfmZzzROgcIY4I7AkCwpnC+qBIYk2eFoA9RWc=",
+        "owner": "hyprwm",
+        "repo": "hyprland-protocols",
+        "rev": "b8f55e02a328c47ed373133c52483bbfa20a1b75",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "hyprland-protocols",
+        "type": "github"
+      }
+    },
     "impermanence": {
       "locked": {
-        "lastModified": 1668668915,
-        "narHash": "sha256-QjY4ZZbs9shwO4LaLpvlU2bO9J1juYhO9NtV3nrbnYQ=",
+        "lastModified": 1675359654,
+        "narHash": "sha256-FPxzuvJkcO49g4zkWLSeuZkln54bLoTtrggZDJBH90I=",
         "owner": "nix-community",
         "repo": "impermanence",
-        "rev": "5df9108b346f8a42021bf99e50de89c9caa251c3",
+        "rev": "6138eb8e737bffabd4c8fc78ae015d4fd6a7e2fd",
         "type": "github"
       },
       "original": {
@@ -56,7 +121,7 @@
     },
     "nixinate": {
       "inputs": {
-        "nixpkgs": "nixpkgs_2"
+        "nixpkgs": "nixpkgs_3"
       },
       "locked": {
         "lastModified": 1671116920,
@@ -74,11 +139,11 @@
     },
     "nixos-hardware": {
       "locked": {
-        "lastModified": 1673803274,
-        "narHash": "sha256-zaJDlHFXewT4KUsidMpRcPE+REymGH1Y3Eoc3Pjv4Xs=",
+        "lastModified": 1674550793,
+        "narHash": "sha256-ljJlIFQZwtBbzWqWTmmw2O5BFmQf1A/DspwMOQtGXHk=",
         "owner": "nixos",
         "repo": "nixos-hardware",
-        "rev": "7bd6b87b3712e68007823e8dd5c37ee9b114fee3",
+        "rev": "b7ac0a56029e4f9e6743b9993037a5aaafd57103",
         "type": "github"
       },
       "original": {
@@ -89,11 +154,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1665732960,
-        "narHash": "sha256-WBZ+uSHKFyjvd0w4inbm0cNExYTn8lpYFcHEes8tmec=",
+        "lastModified": 1674641431,
+        "narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "4428e23312933a196724da2df7ab78eb5e67a88e",
+        "rev": "9b97ad7b4330aacda9b2343396eb3df8a853b4fc",
         "type": "github"
       },
       "original": {
@@ -105,6 +170,22 @@
     },
     "nixpkgs_2": {
       "locked": {
+        "lastModified": 1675273418,
+        "narHash": "sha256-tpYc4TEGvDzh9uRf44QemyQ4TpVuUbxb07b2P99XDbM=",
+        "owner": "NixOS",
+        "repo": "nixpkgs",
+        "rev": "4d7c2644dbac9cf8282c0afe68fca8f0f3e7b2db",
+        "type": "github"
+      },
+      "original": {
+        "owner": "NixOS",
+        "ref": "nixos-unstable",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "nixpkgs_3": {
+      "locked": {
         "lastModified": 1653060744,
         "narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=",
         "owner": "nixos",
@@ -119,13 +200,13 @@
         "type": "github"
       }
     },
-    "nixpkgs_3": {
+    "nixpkgs_4": {
       "locked": {
-        "lastModified": 1674120619,
-        "narHash": "sha256-xLT1FQl7/jNPOEq5q/vmc3AExt1V9LtcjM+QY2+MUpA=",
+        "lastModified": 1675545634,
+        "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "d7705c01ef0a39c8ef532d1033bace8845a07d35",
+        "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323",
         "type": "github"
       },
       "original": {
@@ -139,10 +220,11 @@
       "inputs": {
         "agenix": "agenix",
         "home-manager": "home-manager",
+        "hyprland": "hyprland",
         "impermanence": "impermanence",
         "nixinate": "nixinate",
         "nixos-hardware": "nixos-hardware",
-        "nixpkgs": "nixpkgs_3"
+        "nixpkgs": "nixpkgs_4"
       }
     },
     "utils": {
@@ -159,6 +241,49 @@
         "repo": "flake-utils",
         "type": "github"
       }
+    },
+    "wlroots": {
+      "flake": false,
+      "locked": {
+        "host": "gitlab.freedesktop.org",
+        "lastModified": 1675374853,
+        "narHash": "sha256-BSrjNcddYWhFUMtjGwxiEXw67MYRaIHGvLn19Mvm1NE=",
+        "owner": "wlroots",
+        "repo": "wlroots",
+        "rev": "677a3f2f8847ed2de49dd60868f9d9487a546f58",
+        "type": "gitlab"
+      },
+      "original": {
+        "host": "gitlab.freedesktop.org",
+        "owner": "wlroots",
+        "repo": "wlroots",
+        "type": "gitlab"
+      }
+    },
+    "xdph": {
+      "inputs": {
+        "hyprland-protocols": [
+          "hyprland",
+          "hyprland-protocols"
+        ],
+        "nixpkgs": [
+          "hyprland",
+          "nixpkgs"
+        ]
+      },
+      "locked": {
+        "lastModified": 1673116118,
+        "narHash": "sha256-eR0yDSkR2XYMesfdRWJs25kAdXET2mbNNHu5t+KUcKA=",
+        "owner": "hyprwm",
+        "repo": "xdg-desktop-portal-hyprland",
+        "rev": "d479c846531fd0e1d2357c9588b8310a2b859ef2",
+        "type": "github"
+      },
+      "original": {
+        "owner": "hyprwm",
+        "repo": "xdg-desktop-portal-hyprland",
+        "type": "github"
+      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index c99f1a3..8af44de 100644
--- a/flake.nix
+++ b/flake.nix
@@ -11,10 +11,7 @@
       url = "github:nix-community/home-manager";
       inputs.nixpkgs.follows = "nixpkgs";
     };
-    disko = {
-      url = github:nix-community/disko;
-      inputs.nixpkgs.follows = "nixpkgs"; 
-    };
+    hyprland.url = "github:hyprwm/Hyprland";
   };
 
   outputs = inputs@{ self, ... }: let
@@ -25,7 +22,7 @@
         specialArgs = {inherit inputs;};
       };
     mkSystem = pkgs: system: h: (mkSystem_ pkgs system h [
-        inputs.agenix.nixosModule inputs.impermanence.nixosModules.impermanence inputs.disko.nixosModules.disko
+        inputs.agenix.nixosModules.age inputs.impermanence.nixosModules.impermanence
       ]);
   in {
     apps = inputs.nixinate.nixinate.x86_64-linux self;
diff --git a/hosts/disko.nix b/hosts/disko.nix
index 0a0710e..4808edd 100644
--- a/hosts/disko.nix
+++ b/hosts/disko.nix
@@ -28,13 +28,13 @@
             type = "btrfs";
             extraArgs = "-f"; # Override existing partition
             subvolumes = {
-              "/nix" = {
-                mountOptions = ["noatime" "compress=zstd"]
-              }
+              "/" = {
+                  mountOptions = ["noatime" "compress=zstd"];
+              };
             };
           };
         }
-      ]
+      ];
     };
   });
     
@@ -42,7 +42,7 @@
     "/" = {
       fsType = "tmpfs";
       mountOptions = [
-        "size=200M"
+       "noexec" "defaults" "size=2G" "mode=755"
       ];
     };
   };
diff --git a/hosts/vm/cfg.nix b/hosts/vm/cfg.nix
index d6f33d9..4042ea0 100644
--- a/hosts/vm/cfg.nix
+++ b/hosts/vm/cfg.nix
@@ -6,14 +6,14 @@
     # ../../profiles/graphical.nix
     ../../mixins/tailscale.nix
     ../../mixins/cli.nix
-    # ../../mixins/greet.nix
+    ../../mixins/greet.nix
+    ../../mixins/hyprland.nix
     # ../../mixins/sway.nix
-    (modulesPath + "/profiles/qemu-guest.nix")
   ];
 
   config = {
     _module.args.nixinate = {
-      host = "100.109.155.123";
+      host = "vm";
       sshUser = "tzlil";
       buildOn = "remote"; # valid args are "local" or "remote"
       substituteOnTarget = true; # if buildOn is "local" then it will substitute on the target, "-s"
@@ -71,5 +71,7 @@
       enable = true;
       algorithm = "zstd";
     };
+
+    greeter.initialSession = "sh -c hyprland";
   };
 }
\ No newline at end of file
diff --git a/hosts/vps/cfg.nix b/hosts/vps/cfg.nix
index f32afea..25da42b 100644
--- a/hosts/vps/cfg.nix
+++ b/hosts/vps/cfg.nix
@@ -5,30 +5,22 @@
     ../../profiles/ssh.nix
     ../../mixins/tailscale.nix
     ../../mixins/cli.nix
-    (modulesPath + "/profiles/qemu-guest.nix")
   ];
 
   config = {
     _module.args.nixinate = {
-      host = "95.179.249.76";
+      host = "100.67.217.90";
       sshUser = "nixos";
       buildOn = "remote"; # valid args are "local" or "remote"
       substituteOnTarget = true; # if buildOn is "local" then it will substitute on the target, "-s"
       hermetic = false;
     };
 
-    disko.devices = import ../disko.nix {
-      lib = pkgs.lib;
-    };
     networking.hostName = "vps";
     
     boot = {
-      initrd = {
-        supportedFilesystems = ["btrfs"];
-      };
       kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
       kernelParams = [
-        "console=ttyS0"
         "init_on_free=1"
         "page_poison=1"
         "page_alloc.shuffle=1"
@@ -36,17 +28,21 @@
         "vsyscall=none"
       ];
       cleanTmpDir = true;
-      loader = {
-        systemd-boot = {
-          enable = true;
-        };
-        efi = {
-          canTouchEfiVariables = true;
-          efiSysMountPoint = "/boot";
-        };
+      loader.grub.device = "/dev/vda";
+      initrd = {
+        availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk" ];
+        kernelModules = [];
       };
+      kernelModules = [];
+      extraModulePackages = [];
     };
 
+    networking.interfaces.ens3.useDHCP = lib.mkDefault true;
+
+    nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+    hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+    virtualisation.hypervGuest.enable = true;
+
     time.timeZone = lib.mkDefault "Frankfurt";
 
     fileSystems = {
@@ -56,14 +52,17 @@
         options = ["noexec" "defaults" "size=2G" "mode=755"];
       };
       "/nix" = {
-        device = "/dev/disk/by-partlabel/nix";
-        options = ["noatime" "compress=zstd"];
+        device = "/dev/disk/by-uuid/e4c4735d-bfdd-477f-bc43-d07510cb6a9a";
+        fsType = "btrfs";
       };
       "/boot" = {
-        device = "/dev/disk/by-partlabel/boot";
+        device = "/dev/disk/by-uuid/7ea63707-099d-4c21-90eb-a51bfa6d8ba5";
+        fsType = "ext4";
       };
     };
 
+    swapDevices = [ { device = "/dev/disk/by-uuid/00eb2d2e-4d7c-4e95-804d-e9ecb22679d4"; } ];
+
     zramSwap = {
       enable = true;
       algorithm = "zstd";
diff --git a/mixins/greet.nix b/mixins/greet.nix
index 5c46792..755b7f8 100644
--- a/mixins/greet.nix
+++ b/mixins/greet.nix
@@ -1,4 +1,5 @@
 {
+  config,
   pkgs,
   lib,
   ...
@@ -6,28 +7,34 @@
   user = "tzlil";
 
   users.users.greeter.packages = [pkgs.sway];
-  greetd = "${pkgs.greetd.greetd}/bin/greetd";
-  gtkgreet = "${pkgs.greetd.gtkgreet}/bin/gtkgreet";
+  greet = "${pkgs.greetd.wlgreet}/bin/wlgreet";
 
   sway-kiosk = command: "${pkgs.sway}/bin/sway --unsupported-gpu --config ${pkgs.writeText "kiosk.config" ''
     output * bg #000000 solid_color
     exec "${command}; ${pkgs.sway}/bin/swaymsg exit"
   ''}";
 in {
-  environment.etc."greetd/environments".text =
-    "sway\n"
-    + "$SHELL -l\n";
+  options.greeter.initialSession = lib.mkOption {
+    type = lib.types.str;
+    default = "sh -c sway";
+  };
 
-  services.greetd = {
-    enable = true;
-    settings = {
-      default_session = {
-        inherit user;
-        command = sway-kiosk "${gtkgreet} -l &>/dev/null";
-      };
-      initial_session = {
-        inherit user;
-        command = "sh -c sway";
+  config = {
+    environment.etc."greetd/environments".text =
+      "sway\n"
+      + "$SHELL -l\n";
+
+    services.greetd = {
+      enable = true;
+      settings = {
+        default_session = {
+          inherit user;
+          command = sway-kiosk "${greet} -l &>/dev/null";
+        };
+        initial_session = {
+          inherit user;
+          command = config.greeter.initialSession;
+        };
       };
     };
   };
diff --git a/mixins/hyperland.nix b/mixins/hyperland.nix
deleted file mode 100644
index 84cab6f..0000000
--- a/mixins/hyperland.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  pkgs,
-  lib,
-  config,
-  inputs,
-  ...
-}: {
-  imports = [
-    inputs.hyprland.nixosModules.default
-  ];
-  config = {
-    programs.hyprland.enable = true;
-  };
-}
\ No newline at end of file
diff --git a/mixins/hyprland.nix b/mixins/hyprland.nix
index 84cab6f..1a063d9 100644
--- a/mixins/hyprland.nix
+++ b/mixins/hyprland.nix
@@ -9,6 +9,12 @@
     inputs.hyprland.nixosModules.default
   ];
   config = {
-    programs.hyprland.enable = true;
+    programs.hyprland = {
+      enable = true;
+      xwayland = {
+        enable = false;
+        hidpi = false;
+      };
+    };
   };
 }
\ No newline at end of file
diff --git a/profiles/network.nix b/profiles/network.nix
index 1b3026b..40e31cc 100644
--- a/profiles/network.nix
+++ b/profiles/network.nix
@@ -19,6 +19,7 @@
           100.99.246.128 pc
           100.105.242.70 phone
           100.109.155.123 vm
+          100.67.217.90 vps
         '';
     };
 
diff --git a/profiles/user.nix b/profiles/user.nix
index 514d303..7f0ec8b 100644
--- a/profiles/user.nix
+++ b/profiles/user.nix
@@ -16,7 +16,7 @@
         owner = "tzlil";
         group = "users";
       };
-      password.file = ../secrets/password.age;
+      # password.file = ../secrets/password.age;
     };
 
     users.users.tzlil = {
diff --git a/secrets/id_ed25519.age b/secrets/id_ed25519.age
index 64ee68f..9d5883b 100644
--- a/secrets/id_ed25519.age
+++ b/secrets/id_ed25519.age
Binary files differdiff --git a/secrets/secrets.nix b/secrets/secrets.nix
index 1020fc4..fd40ec5 100644
--- a/secrets/secrets.nix
+++ b/secrets/secrets.nix
@@ -2,9 +2,9 @@ let
   tzlil = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMDyzrs9sbstv3KFK5FV8qYlSknnEy8Cn+qch4dJLmHA";
 
   vm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHS6LK6rCmJCR/rKVJYVmJTL8fAdyJSLlgC3mesd6QVS";
-  systems = [ vm ];
+  vps = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMdOuj27GB703ZRKRqhytlaLJsKucaRa//yswxijAZT7";
+  systems = [ vm vps ];
 in
 {
   "id_ed25519.age".publicKeys = [ tzlil ] ++ systems;
-  "password.age".publicKeys = [ tzlil ] ++ systems;
-}
\ No newline at end of file
+}