From b13906a891486e5ae73780d431703405db143302 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sun, 27 Oct 2024 17:58:03 +0100
Subject: [PATCH 1/8] added tmux

---
 users/willifan/common/default.nix      |  1 +
 users/willifan/common/tmux/default.nix | 10 ++++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 users/willifan/common/tmux/default.nix

diff --git a/users/willifan/common/default.nix b/users/willifan/common/default.nix
index bb63c10..50f47b4 100644
--- a/users/willifan/common/default.nix
+++ b/users/willifan/common/default.nix
@@ -4,6 +4,7 @@
     ./nixvim
     ./shell
     ./theme
+    ./tmux
     ./utils
 
     ./envvar.nix
diff --git a/users/willifan/common/tmux/default.nix b/users/willifan/common/tmux/default.nix
new file mode 100644
index 0000000..c92063e
--- /dev/null
+++ b/users/willifan/common/tmux/default.nix
@@ -0,0 +1,10 @@
+{ ... }:
+{
+
+  home-manager.users.willifan = {
+    programs.tmux = {
+      enable = true;
+    };
+  };
+
+}

From bde74761f1d78b626265efd0db8f41d118fb1dd6 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sun, 27 Oct 2024 19:06:41 +0100
Subject: [PATCH 2/8] change movefocus hyprland shortcuts

---
 users/willifan/desktop/hyprland/common/hyprland.nix | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/users/willifan/desktop/hyprland/common/hyprland.nix b/users/willifan/desktop/hyprland/common/hyprland.nix
index 53080fc..db06e41 100644
--- a/users/willifan/desktop/hyprland/common/hyprland.nix
+++ b/users/willifan/desktop/hyprland/common/hyprland.nix
@@ -163,10 +163,10 @@
           ''$mainMod, F, fullscreen''
 
           # Move focus with mainMod + arrow keys
-          ''$mainMod, left, movefocus, l''
-          ''$mainMod, right, movefocus, r''
-          ''$mainMod, up, movefocus, u''
-          ''$mainMod, down, movefocus, d''
+          ''$mainMod, h, movefocus, l''
+          ''$mainMod, l, movefocus, r''
+          ''$mainMod, k, movefocus, u''
+          ''$mainMod, j, movefocus, d''
 
           '', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle''
           '', XF86AudioPrev, exec, playerctl previous''

From 95710759c92cc58aef67602af6278f0b112d1949 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sun, 27 Oct 2024 19:15:05 +0100
Subject: [PATCH 3/8] added a lot of nvim settings

---
 users/willifan/common/nixvim/default.nix  |   1 +
 users/willifan/common/nixvim/settings.nix | 101 ++++++++++++++++++++++
 2 files changed, 102 insertions(+)
 create mode 100644 users/willifan/common/nixvim/settings.nix

diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix
index 77ff57c..284d89d 100644
--- a/users/willifan/common/nixvim/default.nix
+++ b/users/willifan/common/nixvim/default.nix
@@ -13,6 +13,7 @@
     ./lsp.nix
     ./navic.nix
     ./neotree.nix
+    ./settings.nix
     ./toggleterm.nix
     ./treesitter.nix
     ./whichkey.nix
diff --git a/users/willifan/common/nixvim/settings.nix b/users/willifan/common/nixvim/settings.nix
new file mode 100644
index 0000000..21b15f8
--- /dev/null
+++ b/users/willifan/common/nixvim/settings.nix
@@ -0,0 +1,101 @@
+{ ... }:
+{
+
+  programs.nixvim = {
+    config = {
+      extraConfigLuaPre =
+        # lua
+        ''
+          vim.fn.sign_define("diagnosticsignerror", { text = " ", texthl = "diagnosticerror", linehl = "", numhl = "" })
+          vim.fn.sign_define("diagnosticsignwarn", { text = " ", texthl = "diagnosticwarn", linehl = "", numhl = "" })
+          vim.fn.sign_define("diagnosticsignhint", { text = "󰌵", texthl = "diagnostichint", linehl = "", numhl = "" })
+          vim.fn.sign_define("diagnosticsigninfo", { text = " ", texthl = "diagnosticinfo", linehl = "", numhl = "" })
+        '';
+
+      clipboard = {
+        providers.wl-copy.enable = true;
+      };
+
+      opts = {
+        # Show line numbers
+        number = true;
+
+        # Show relative line numbers
+        relativenumber = true;
+
+        # Use the system clipboard
+        clipboard = "unnamedplus";
+
+        # Number of spaces that represent a <TAB>
+        tabstop = 2;
+        softtabstop = 2;
+
+        # Show tabline always
+        showtabline = 2;
+
+        # Use spaces instead of tabs
+        expandtab = true;
+
+        # Enable smart indentation
+        smartindent = true;
+
+        # Number of spaces to use for each step of (auto)indent
+        shiftwidth = 2;
+
+        # Enable break indent
+        breakindent = true;
+
+        # Highlight the screen line of the cursor
+        cursorline = true;
+
+        # Minimum number of screen lines to keep above and below the cursor
+        scrolloff = 8;
+
+        # Enable mouse support
+        mouse = "a";
+
+        # Set folding method to manual
+        foldmethod = "manual";
+
+        # Disable folding by default
+        foldenable = false;
+
+        # Wrap long lines at a character in 'breakat'
+        linebreak = true;
+
+        # Disable spell checking
+        spell = false;
+
+        # Disable swap file creation
+        swapfile = false;
+
+        # Time in milliseconds to wait for a mapped sequence to complete
+        timeoutlen = 300;
+
+        # Enable 24-bit RGB color in the TUI
+        termguicolors = true;
+
+        # Don't show mode in the command line
+        showmode = false;
+
+        # Open new split below the current window
+        splitbelow = true;
+
+        # Keep the screen when splitting
+        splitkeep = "screen";
+
+        # Open new split to the right of the current window
+        splitright = true;
+
+        # Hide command line unless needed
+        cmdheight = 0;
+
+        # Remove EOB
+        fillchars = {
+          eob = " ";
+        };
+      };
+    };
+  };
+
+}

From 98aec6feb66b6eef9940c555698708a1b182bcd7 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sun, 27 Oct 2024 19:19:17 +0100
Subject: [PATCH 4/8] removed ToggleTerm

---
 users/willifan/common/nixvim/TODO.md        |  6 ------
 users/willifan/common/nixvim/default.nix    |  1 -
 users/willifan/common/nixvim/toggleterm.nix | 11 -----------
 3 files changed, 18 deletions(-)
 delete mode 100644 users/willifan/common/nixvim/toggleterm.nix

diff --git a/users/willifan/common/nixvim/TODO.md b/users/willifan/common/nixvim/TODO.md
index 3b11825..33bb237 100644
--- a/users/willifan/common/nixvim/TODO.md
+++ b/users/willifan/common/nixvim/TODO.md
@@ -1,13 +1,7 @@
-# Settings
-add line numbers
-change default tab width
-KEYBINDS
-
 # Plugins
 add cmp
 try out nvimtree
 add lualine
-make ToggleTerm not terrible
 add autopairs
 indent blankline??
 todo comments
diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix
index 284d89d..f53df73 100644
--- a/users/willifan/common/nixvim/default.nix
+++ b/users/willifan/common/nixvim/default.nix
@@ -14,7 +14,6 @@
     ./navic.nix
     ./neotree.nix
     ./settings.nix
-    ./toggleterm.nix
     ./treesitter.nix
     ./whichkey.nix
     ./yazi.nix
diff --git a/users/willifan/common/nixvim/toggleterm.nix b/users/willifan/common/nixvim/toggleterm.nix
deleted file mode 100644
index 47ba41f..0000000
--- a/users/willifan/common/nixvim/toggleterm.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ ... }:
-{
-  programs.nixvim.plugins = {
-    toggleterm = {
-      enable = true;
-      settings = {
-        size = 10;
-      };
-    };
-  };
-}

From 01a127a380de534ee97ff9b75b94cf9ddb877cc5 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sun, 27 Oct 2024 20:18:30 +0100
Subject: [PATCH 5/8] added cmp

---
 users/willifan/common/nixvim/cmp.nix     | 50 ++++++++++++++++++++++++
 users/willifan/common/nixvim/default.nix |  1 +
 2 files changed, 51 insertions(+)
 create mode 100644 users/willifan/common/nixvim/cmp.nix

diff --git a/users/willifan/common/nixvim/cmp.nix b/users/willifan/common/nixvim/cmp.nix
new file mode 100644
index 0000000..764f074
--- /dev/null
+++ b/users/willifan/common/nixvim/cmp.nix
@@ -0,0 +1,50 @@
+{ ... }:
+{
+
+  programs.nixvim.plugins = {
+    cmp = {
+      enable = true;
+      settings = {
+        autoEnableSources = true;
+        experimental = {ghost_text = false;};
+        performance = {
+          debounce = 60;
+          fetchingTimeout = 200;
+          maxViewEntries = 30;
+        };
+        snippet = {expand = "luasnip";};
+        formatting = {fields = ["kind" "abbr" "menu"];};
+        sources = [
+          {name = "git";}
+          {name = "nvim_lsp";}
+          {name = "emoji";}
+          {
+            name = "buffer"; # text within current buffer
+            option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
+            keywordLength = 3;
+          }
+          {name = "copilot";}
+          {
+            name = "path"; # file system paths
+            keywordLength = 3;
+          }
+          {
+            name = "luasnip"; # snippets
+            keywordLength = 3;
+          }
+        ];
+
+        window = {
+          completion = {border = "solid";};
+          documentation = {border = "solid";};
+        };
+      };
+    };
+    cmp-nvim-lsp = {enable = true;}; # lsp
+    cmp-buffer = {enable = true;};
+    cmp-path = {enable = true;}; # file system paths
+    cmp_luasnip = {enable = true;}; # snippets
+    cmp-cmdline = {enable = false;}; # autocomplete for cmdline
+  };
+
+}
diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix
index f53df73..b5adffa 100644
--- a/users/willifan/common/nixvim/default.nix
+++ b/users/willifan/common/nixvim/default.nix
@@ -7,6 +7,7 @@
   };
 
   imports = [
+    ./cmp.nix
     ./filetype.nix
     ./gitsigns.nix
     ./illuminate.nix

From 3ef26e32762de3e01fb151b461121efecd9aa145 Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sun, 27 Oct 2024 20:20:20 +0100
Subject: [PATCH 6/8] added autopairs

---
 users/willifan/common/nixvim/autopairs.nix | 9 +++++++++
 users/willifan/common/nixvim/default.nix   | 1 +
 2 files changed, 10 insertions(+)
 create mode 100644 users/willifan/common/nixvim/autopairs.nix

diff --git a/users/willifan/common/nixvim/autopairs.nix b/users/willifan/common/nixvim/autopairs.nix
new file mode 100644
index 0000000..6f6b905
--- /dev/null
+++ b/users/willifan/common/nixvim/autopairs.nix
@@ -0,0 +1,9 @@
+{ ... }:
+{
+  programs.nixvim.plugins.nvim-autopairs = {
+    enable = true;
+    settings = {
+      disable_filetype = ["TelescopePrompt" "vim"];
+    };
+  };
+}
diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix
index b5adffa..3699c19 100644
--- a/users/willifan/common/nixvim/default.nix
+++ b/users/willifan/common/nixvim/default.nix
@@ -7,6 +7,7 @@
   };
 
   imports = [
+    ./autopairs.nix
     ./cmp.nix
     ./filetype.nix
     ./gitsigns.nix

From d8df4f3de1c45656db1ef9c53d533afe3574bcbe Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sat, 2 Nov 2024 13:22:43 +0100
Subject: [PATCH 7/8] removed nixpkgs-stable

---
 flake.lock               | 17 -----------------
 flake.nix                | 17 ++++-------------
 hosts/common/default.nix |  1 +
 3 files changed, 5 insertions(+), 30 deletions(-)

diff --git a/flake.lock b/flake.lock
index a61b038..ae197b3 100644
--- a/flake.lock
+++ b/flake.lock
@@ -396,22 +396,6 @@
         "type": "github"
       }
     },
-    "nixpkgs-stable": {
-      "locked": {
-        "lastModified": 1728909085,
-        "narHash": "sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "c0b1da36f7c34a7146501f684e9ebdf15d2bebf8",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NixOS",
-        "ref": "nixos-24.05",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
     "nixpkgs_2": {
       "locked": {
         "lastModified": 1725194671,
@@ -484,7 +468,6 @@
         "home-manager": "home-manager",
         "nixos-hardware": "nixos-hardware",
         "nixpkgs": "nixpkgs",
-        "nixpkgs-stable": "nixpkgs-stable",
         "nixvim": "nixvim",
         "stylix": "stylix",
         "zen": "zen"
diff --git a/flake.nix b/flake.nix
index 5b6126e..aff96e3 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,7 +4,6 @@
   inputs = {
 
     # NixOS official package source, using the nixos-23.11 branch here
-    nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
     nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
     nixos-hardware.url = "github:nixos/nixos-hardware";
 
@@ -40,11 +39,9 @@
 
   };
 
-  outputs = { nixpkgs, nixpkgs-stable, ... }@attrs: 
+  outputs = { nixpkgs, ... }@attrs: 
   let
       lib = nixpkgs.lib;
-      pkgs = import nixpkgs { system = "x86_64-linux"; config = { allowUnfree = true; }; };
-      pkgs-stable = import nixpkgs-stable { system = "x86_64-linux"; config = { allowUnfree = true; }; };
   in
   {
     nixosConfigurations = {
@@ -57,9 +54,7 @@
         specialArgs = {
           hostname = "Lenni";
           type = "desktop";
-          inherit pkgs;
-          inherit pkgs-stable;
-	  inherit attrs;
+	        inherit attrs;
           inherit system;
         };
 
@@ -87,9 +82,7 @@
         specialArgs = {
           hostname = "Puenktchen";
           type = "desktop";
-          inherit pkgs;
-          inherit pkgs-stable;
-	  inherit attrs;
+      	  inherit attrs;
           inherit system;
         };
 
@@ -120,9 +113,7 @@
         specialArgs = {
           hostname = "Anton";
           type = "server";
-          inherit pkgs;
-          inherit pkgs-stable;
-	  inherit attrs;
+      	  inherit attrs;
           inherit system;
         };
 
diff --git a/hosts/common/default.nix b/hosts/common/default.nix
index ac51384..9670844 100644
--- a/hosts/common/default.nix
+++ b/hosts/common/default.nix
@@ -14,5 +14,6 @@
   };
   console.keyMap = "de";
   nix.settings.experimental-features = [ "nix-command" "flakes" ];
+  nixpkgs.config.allowUnfree = true;
   system.stateVersion = "23.11";
 }

From 267b0e1f2881be36dff91cb4ffaf15c2438a8b9e Mon Sep 17 00:00:00 2001
From: willifan <willifan@proton.me>
Date: Sat, 2 Nov 2024 13:29:38 +0100
Subject: [PATCH 8/8] added Lillie host

---
 flake.nix                         | 27 +++++++++++++++
 hosts/Lillie/default.nix          |  7 ++++
 hosts/Lillie/disko.nix            | 56 +++++++++++++++++++++++++++++++
 users/willifan/Lillie/default.nix |  4 +++
 4 files changed, 94 insertions(+)
 create mode 100644 hosts/Lillie/default.nix
 create mode 100644 hosts/Lillie/disko.nix
 create mode 100644 users/willifan/Lillie/default.nix

diff --git a/flake.nix b/flake.nix
index aff96e3..5edb6e6 100644
--- a/flake.nix
+++ b/flake.nix
@@ -135,6 +135,33 @@
         
       };
 
+      Lillie = let
+        system = "x86_64-linux";
+      in
+      lib.nixosSystem {
+
+        specialArgs = {
+          hostname = "Lillie";
+          type = "desktop";
+	        inherit attrs;
+          inherit system;
+        };
+
+        modules = [
+          attrs.home-manager.nixosModules.home-manager
+            {
+              home-manager.useGlobalPkgs = true;
+              home-manager.useUserPackages = true;
+            }
+          attrs.disko.nixosModules.disko
+          attrs.stylix.nixosModules.stylix
+          attrs.nixvim.nixosModules.nixvim
+          ./hosts
+          ./users/willifan
+        ];
+
+      };
+
     };
   };
 }
diff --git a/hosts/Lillie/default.nix b/hosts/Lillie/default.nix
new file mode 100644
index 0000000..81f90fb
--- /dev/null
+++ b/hosts/Lillie/default.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+  imports = [
+    ./hardware-configuration.nix
+    ./disko.nix
+  ];
+}
diff --git a/hosts/Lillie/disko.nix b/hosts/Lillie/disko.nix
new file mode 100644
index 0000000..86bc1b2
--- /dev/null
+++ b/hosts/Lillie/disko.nix
@@ -0,0 +1,56 @@
+{
+  disko.devices = {
+    disk = {
+      nvme0n1 = {
+        type = "disk";
+        device = "/dev/disk/by-id/nvme-CT1000P310SSD2-24314A4587C7";
+        content = {
+          type = "gpt";
+          partitions = {
+            ESP = {
+              priority = 1;
+              name = "ESP";
+              size = "512M";
+              type = "EF00";
+              content = {
+                type = "filesystem";
+                format = "vfat";
+                mountpoint = "/boot";
+              };
+            };
+            root = {
+              size = "100%";
+              content = {
+                type = "btrfs";
+                extraArgs = [ "-f" ]; # Override existing partition
+                # Subvolumes must set a mountpoint in order to be mounted,
+                # unless their parent is mounted
+                subvolumes = {
+                  # Subvolume name is different from mountpoint
+                  "/rootfs" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/";
+                  };
+                  # Subvolume name is the same as the mountpoint
+                  "/home" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/home";
+                  };
+                  # Parent is not mounted so the mountpoint must be set
+                  "/nix" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/nix";
+                  };
+                  "/mnt/data" = {
+                    mountOptions = [ "compress=zstd" "noatime" ];
+                    mountpoint = "/mnt/data";
+                  };
+                };
+              };
+            };
+          };
+        };
+      };
+    };
+  };
+}
diff --git a/users/willifan/Lillie/default.nix b/users/willifan/Lillie/default.nix
new file mode 100644
index 0000000..1c4f482
--- /dev/null
+++ b/users/willifan/Lillie/default.nix
@@ -0,0 +1,4 @@
+{ ... }:
+{
+  
+}