about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-08-01 15:31:42 +0200
committerSoispha <soispha@vhack.eu>2023-08-01 15:42:54 +0200
commit0a608bd781dcda40144097b007fac0a0c60a8ee1 (patch)
treee69fbc1fd0e15e3b86f31f47b776df21f6f0170d
parentFix(hm/conf/gammastep): Use lighter settings on laptops (diff)
downloadnixos-config-0a608bd781dcda40144097b007fac0a0c60a8ee1.tar.gz
nixos-config-0a608bd781dcda40144097b007fac0a0c60a8ee1.zip
Refactor(treewide): Move module configuration in separate files
-rw-r--r--flake.nix4
-rw-r--r--flake/default.nix102
-rw-r--r--flake/nixosConfigurations/default.nix24
-rw-r--r--home-manager/default.nix87
-rw-r--r--home-manager/soispha/config/alacritty/alacritty.yml (renamed from home-manager/config/alacritty/alacritty.yml)0
-rw-r--r--home-manager/soispha/config/alacritty/default.nix (renamed from home-manager/config/alacritty/default.nix)0
-rw-r--r--home-manager/soispha/config/btop/default.nix (renamed from home-manager/config/btop/default.nix)0
-rw-r--r--home-manager/soispha/config/dconf/default.nix (renamed from home-manager/config/dconf/default.nix)0
-rw-r--r--home-manager/soispha/config/default.nix (renamed from home-manager/config/default.nix)0
-rw-r--r--home-manager/soispha/config/direnv/default.nix (renamed from home-manager/config/direnv/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/config/bookmarks/default.nix (renamed from home-manager/config/firefox/config/bookmarks/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/config/chrome/userChrome.css (renamed from home-manager/config/firefox/config/chrome/userChrome.css)0
-rw-r--r--home-manager/soispha/config/firefox/config/extensions/extensions.json (renamed from home-manager/config/firefox/config/extensions/extensions.json)0
-rw-r--r--home-manager/soispha/config/firefox/config/prefs/default.nix (renamed from home-manager/config/firefox/config/prefs/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/config/prefs/override.js (renamed from home-manager/config/firefox/config/prefs/override.js)0
-rw-r--r--home-manager/soispha/config/firefox/config/search/engines/default.nix (renamed from home-manager/config/firefox/config/search/engines/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/default.nix (renamed from home-manager/config/firefox/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/functions/bookmarks/default.nix (renamed from home-manager/config/firefox/functions/bookmarks/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/functions/extensions/default.nix (renamed from home-manager/config/firefox/functions/extensions/default.nix)0
-rw-r--r--home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix (renamed from home-manager/config/firefox/functions/extensions/video-pauser.nix)0
-rwxr-xr-xhome-manager/soispha/config/firefox/scripts/unzip_mozlz4.py (renamed from home-manager/config/firefox/scripts/unzip_mozlz4.py)0
-rwxr-xr-xhome-manager/soispha/config/firefox/scripts/update_extensions (renamed from home-manager/config/firefox/scripts/update_extensions)0
-rw-r--r--home-manager/soispha/config/gammastep/default.nix (renamed from home-manager/config/gammastep/default.nix)0
-rw-r--r--home-manager/soispha/config/git/default.nix (renamed from home-manager/config/git/default.nix)0
-rw-r--r--home-manager/soispha/config/git/git_ignore.git (renamed from home-manager/config/git/git_ignore.git)0
-rw-r--r--home-manager/soispha/config/git/git_template.git (renamed from home-manager/config/git/git_template.git)0
-rwxr-xr-xhome-manager/soispha/config/gpg/agent-program (renamed from home-manager/config/gpg/agent-program)0
-rw-r--r--home-manager/soispha/config/gpg/default.nix (renamed from home-manager/config/gpg/default.nix)0
-rw-r--r--home-manager/soispha/config/gpg/keys/key_1 (renamed from home-manager/config/gpg/keys/key_1)bin754 -> 754 bytes
-rw-r--r--home-manager/soispha/config/gpg/keys/key_2 (renamed from home-manager/config/gpg/keys/key_2)bin717 -> 717 bytes
-rw-r--r--home-manager/soispha/config/gpg/keys/key_3 (renamed from home-manager/config/gpg/keys/key_3)bin51304 -> 51304 bytes
-rw-r--r--home-manager/soispha/config/grades/config.yaml (renamed from home-manager/config/grades/config.yaml)0
-rw-r--r--home-manager/soispha/config/grades/default.nix (renamed from home-manager/config/grades/default.nix)0
-rw-r--r--home-manager/soispha/config/gtk/default.nix (renamed from home-manager/config/gtk/default.nix)0
-rw-r--r--home-manager/soispha/config/himalaya/default.nix (renamed from home-manager/config/himalaya/default.nix)0
-rw-r--r--home-manager/soispha/config/keepassxc/default.nix (renamed from home-manager/config/keepassxc/default.nix)0
-rw-r--r--home-manager/soispha/config/keepassxc/keepassxc.ini (renamed from home-manager/config/keepassxc/keepassxc.ini)0
-rw-r--r--home-manager/soispha/config/latexindent/default.nix (renamed from home-manager/config/latexindent/default.nix)0
-rw-r--r--home-manager/soispha/config/latexindent/indentconfig.yaml (renamed from home-manager/config/latexindent/indentconfig.yaml)0
-rw-r--r--home-manager/soispha/config/latexindent/mysettings.yaml (renamed from home-manager/config/latexindent/mysettings.yaml)0
-rw-r--r--home-manager/soispha/config/less/default.nix (renamed from home-manager/config/less/default.nix)0
-rw-r--r--home-manager/soispha/config/lf/colors (renamed from home-manager/config/lf/colors)0
-rw-r--r--home-manager/soispha/config/lf/commands/default.nix (renamed from home-manager/config/lf/commands/default.nix)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/archive (renamed from home-manager/config/lf/commands/scripts/archive)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/broot_jump (renamed from home-manager/config/lf/commands/scripts/broot_jump)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/chmod (renamed from home-manager/config/lf/commands/scripts/chmod)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/clear_trash (renamed from home-manager/config/lf/commands/scripts/clear_trash)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/dl_file (renamed from home-manager/config/lf/commands/scripts/dl_file)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/dragon (renamed from home-manager/config/lf/commands/scripts/dragon)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/dragon_individual (renamed from home-manager/config/lf/commands/scripts/dragon_individual)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/dragon_stay (renamed from home-manager/config/lf/commands/scripts/dragon_stay)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/fzf_jump (renamed from home-manager/config/lf/commands/scripts/fzf_jump)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/mk_dir (renamed from home-manager/config/lf/commands/scripts/mk_dir)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/mk_file (renamed from home-manager/config/lf/commands/scripts/mk_file)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/mk_ln (renamed from home-manager/config/lf/commands/scripts/mk_ln)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/mk_scr_default (renamed from home-manager/config/lf/commands/scripts/mk_scr_default)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/mk_scr_temp (renamed from home-manager/config/lf/commands/scripts/mk_scr_temp)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/open (renamed from home-manager/config/lf/commands/scripts/open)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/open_config (renamed from home-manager/config/lf/commands/scripts/open_config)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/restore_trash (renamed from home-manager/config/lf/commands/scripts/restore_trash)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/set_wall_paper (renamed from home-manager/config/lf/commands/scripts/set_wall_paper)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/stripspace (renamed from home-manager/config/lf/commands/scripts/stripspace)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/trash (renamed from home-manager/config/lf/commands/scripts/trash)0
-rwxr-xr-xhome-manager/soispha/config/lf/commands/scripts/unarchive (renamed from home-manager/config/lf/commands/scripts/unarchive)0
-rw-r--r--home-manager/soispha/config/lf/default.nix (renamed from home-manager/config/lf/default.nix)0
-rw-r--r--home-manager/soispha/config/lf/icons (renamed from home-manager/config/lf/icons)0
-rw-r--r--home-manager/soispha/config/lf/keybindings/default.nix (renamed from home-manager/config/lf/keybindings/default.nix)0
-rw-r--r--home-manager/soispha/config/mail/default.nix (renamed from home-manager/config/mail/default.nix)0
-rw-r--r--home-manager/soispha/config/mail/non_public_accounts.nix (renamed from home-manager/config/mail/non_public_accounts.nix)bin963 -> 963 bytes
-rw-r--r--home-manager/soispha/config/mako/default.nix (renamed from home-manager/config/mako/default.nix)0
-rw-r--r--home-manager/soispha/config/mbsync/default.nix (renamed from home-manager/config/mbsync/default.nix)0
-rw-r--r--home-manager/soispha/config/mpd/default.nix (renamed from home-manager/config/mpd/default.nix)0
-rw-r--r--home-manager/soispha/config/mpd/mpdconf.example (renamed from home-manager/config/mpd/mpdconf.example)0
-rw-r--r--home-manager/soispha/config/mpv/default.nix (renamed from home-manager/config/mpv/default.nix)0
-rw-r--r--home-manager/soispha/config/mumble/Mumble.conf (renamed from home-manager/config/mumble/Mumble.conf)0
-rw-r--r--home-manager/soispha/config/mumble/default.nix (renamed from home-manager/config/mumble/default.nix)0
-rw-r--r--home-manager/soispha/config/neomutt/default.nix (renamed from home-manager/config/neomutt/default.nix)0
-rw-r--r--home-manager/soispha/config/neovim/default.nix (renamed from home-manager/config/neovim/default.nix)0
-rw-r--r--home-manager/soispha/config/nheko/default.nix (renamed from home-manager/config/nheko/default.nix)0
-rw-r--r--home-manager/soispha/config/npm/.npmrc (renamed from home-manager/config/npm/.npmrc)0
-rw-r--r--home-manager/soispha/config/npm/default.nix (renamed from home-manager/config/npm/default.nix)0
-rw-r--r--home-manager/soispha/config/python/default.nix (renamed from home-manager/config/python/default.nix)0
-rw-r--r--home-manager/soispha/config/python/pythonrc (renamed from home-manager/config/python/pythonrc)0
-rw-r--r--home-manager/soispha/config/rclone/default.nix (renamed from home-manager/config/rclone/default.nix)0
-rw-r--r--home-manager/soispha/config/rclone/rclone.conf (renamed from home-manager/config/rclone/rclone.conf)0
-rw-r--r--home-manager/soispha/config/ssh/default.nix (renamed from home-manager/config/ssh/default.nix)0
-rw-r--r--home-manager/soispha/config/swayidle/config (renamed from home-manager/config/swayidle/config)0
-rw-r--r--home-manager/soispha/config/swayidle/default.nix (renamed from home-manager/config/swayidle/default.nix)0
-rw-r--r--home-manager/soispha/config/swaylock/commands.jpg (renamed from home-manager/config/swaylock/commands.jpg)bin629695 -> 629695 bytes
-rw-r--r--home-manager/soispha/config/swaylock/default.nix (renamed from home-manager/config/swaylock/default.nix)0
-rw-r--r--home-manager/soispha/config/swaylock/gnu.png (renamed from home-manager/config/swaylock/gnu.png)bin327518 -> 327518 bytes
-rw-r--r--home-manager/soispha/config/yambar/config/config.yml (renamed from home-manager/config/yambar/config/config.yml)0
-rw-r--r--home-manager/soispha/config/yambar/config/laptop.yml (renamed from home-manager/config/yambar/config/laptop.yml)0
-rw-r--r--home-manager/soispha/config/yambar/default.nix (renamed from home-manager/config/yambar/default.nix)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/disk (renamed from home-manager/config/yambar/scripts/disk)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/grades-average (renamed from home-manager/config/yambar/scripts/grades-average)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/network (renamed from home-manager/config/yambar/scripts/network)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/amixer-monitor (renamed from home-manager/config/yambar/scripts/old/amixer-monitor)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/cpu (renamed from home-manager/config/yambar/scripts/old/cpu)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/dfspace (renamed from home-manager/config/yambar/scripts/old/dfspace)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/grades-average (renamed from home-manager/config/yambar/scripts/old/grades-average)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/meminfo (renamed from home-manager/config/yambar/scripts/old/meminfo)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/nmclitest (renamed from home-manager/config/yambar/scripts/old/nmclitest)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/pingtest (renamed from home-manager/config/yambar/scripts/old/pingtest)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/yambar-tray (renamed from home-manager/config/yambar/scripts/old/yambar-tray)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/old/yambar-tray-width (renamed from home-manager/config/yambar/scripts/old/yambar-tray-width)0
-rwxr-xr-xhome-manager/soispha/config/yambar/scripts/sound-volume (renamed from home-manager/config/yambar/scripts/sound-volume)0
-rw-r--r--home-manager/soispha/config/zsh/config/custom_cursor.sh (renamed from home-manager/config/zsh/config/custom_cursor.sh)0
-rw-r--r--home-manager/soispha/config/zsh/config/zsh-init.sh (renamed from home-manager/config/zsh/config/zsh-init.sh)0
-rw-r--r--home-manager/soispha/config/zsh/config/zsh-prompt.sh (renamed from home-manager/config/zsh/config/zsh-prompt.sh)0
-rw-r--r--home-manager/soispha/config/zsh/default.nix (renamed from home-manager/config/zsh/default.nix)0
-rw-r--r--home-manager/soispha/default.nix35
-rw-r--r--home-manager/soispha/files/default.nix (renamed from home-manager/files/default.nix)0
-rw-r--r--home-manager/soispha/files/wallpaper/abstract-nord.png (renamed from home-manager/files/wallpaper/abstract-nord.png)bin140219 -> 140219 bytes
-rw-r--r--home-manager/soispha/files/wallpaper/default.nix (renamed from home-manager/files/wallpaper/default.nix)0
-rw-r--r--home-manager/soispha/impermanence/default.nix (renamed from home-manager/impermanence/default.nix)0
-rw-r--r--home-manager/soispha/packages/default.nix (renamed from home-manager/packages/default.nix)0
-rw-r--r--home-manager/soispha/packages/scripts.nix (renamed from home-manager/packages/scripts.nix)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/apps/aumo (renamed from home-manager/packages/scripts/apps/aumo)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/apps/con2pdf (renamed from home-manager/packages/scripts/apps/con2pdf)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/small_functions/dldragon (renamed from home-manager/packages/scripts/small_functions/dldragon)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/small_functions/gtk-themes (renamed from home-manager/packages/scripts/small_functions/gtk-themes)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/small_functions/mocs (renamed from home-manager/packages/scripts/small_functions/mocs)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/small_functions/screen_shot (renamed from home-manager/packages/scripts/small_functions/screen_shot)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/small_functions/update-sys (renamed from home-manager/packages/scripts/small_functions/update-sys)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/wrappers/backsnap (renamed from home-manager/packages/scripts/wrappers/backsnap)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/wrappers/ll (renamed from home-manager/packages/scripts/wrappers/ll)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/wrappers/llp (renamed from home-manager/packages/scripts/wrappers/llp)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/wrappers/spodi (renamed from home-manager/packages/scripts/wrappers/spodi)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/wrappers/virsh-del (renamed from home-manager/packages/scripts/wrappers/virsh-del)0
-rwxr-xr-xhome-manager/soispha/packages/scripts/wrappers/yti (renamed from home-manager/packages/scripts/wrappers/yti)0
-rw-r--r--home-manager/soispha/wms/default.nix (renamed from home-manager/wms/default.nix)0
-rw-r--r--home-manager/soispha/wms/plasma/default.nix (renamed from home-manager/wms/plasma/default.nix)0
-rw-r--r--home-manager/soispha/wms/river/default.nix (renamed from home-manager/wms/river/default.nix)0
-rwxr-xr-xhome-manager/soispha/wms/river/init (renamed from home-manager/wms/river/init)0
-rw-r--r--home-manager/soispha/wms/river/res/keys.ron (renamed from home-manager/wms/river/res/keys.ron)0
-rw-r--r--home-manager/soispha/wms/river/res/moonlander.ron (renamed from home-manager/wms/river/res/moonlander.ron)0
-rwxr-xr-xhome-manager/soispha/wms/river/res/safe_init (renamed from home-manager/wms/river/res/safe_init)0
-rw-r--r--home-manager/soispha/wms/sway/default.nix (renamed from home-manager/wms/sway/default.nix)0
-rw-r--r--system/default.nix3
-rw-r--r--system/font/default.nix5
-rw-r--r--system/secrets/default.nix (renamed from secrets/default.nix)0
-rw-r--r--system/secrets/nheko/conf.apzu (renamed from secrets/nheko/conf.apzu)0
-rw-r--r--system/secrets/nheko/conf.isimud (renamed from secrets/nheko/conf.isimud)0
-rw-r--r--system/secrets/nheko/conf.tiamat (renamed from secrets/nheko/conf.tiamat)0
-rw-r--r--system/secrets/secrets.nix (renamed from secrets/secrets.nix)0
-rw-r--r--system/secrets/serverphone/ca.key (renamed from secrets/serverphone/ca.key)0
-rw-r--r--system/secrets/serverphone/server.key (renamed from secrets/serverphone/server.key)0
-rw-r--r--system/services/nix/default.nix6
l---------system/services/serverphone/keys/key_12
l---------system/services/serverphone/keys/key_22
-rwxr-xr-xupdate.sh2
152 files changed, 134 insertions, 138 deletions
diff --git a/flake.nix b/flake.nix
index 836c6d8e..27c61d4c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -248,6 +248,8 @@
       inherit (nixpkgs) lib;
       inherit system;
     });
+    # FIXME this `nixpkgs` misses the configs applied to the other one
+    nixpkgs_as_input = nixpkgs;
     outputs = import ./flake {
       inherit
         # core
@@ -255,7 +257,7 @@
         pkgs
         system
         sysLib
-        nixpkgs
+        nixpkgs_as_input
         # modules
         
         home-manager
diff --git a/flake/default.nix b/flake/default.nix
index 9c6e2033..aed36d6a 100644
--- a/flake/default.nix
+++ b/flake/default.nix
@@ -4,7 +4,7 @@
   pkgs,
   system,
   sysLib,
-  nixpkgs,
+  nixpkgs_as_input,
   # modules
   home-manager,
   nixos-generators,
@@ -30,73 +30,13 @@
   grades,
   flake_update,
 }: let
-  homeManagerConfig = {
-    home-manager = {
-      useGlobalPkgs = true;
-      useUserPackages = true;
-      users.soispha = import ../home-manager;
-      extraSpecialArgs = {
-        inherit
-          pkgs
-          sysLib
-          # extra information
-          
-          system
-          # bins
-          
-          video_pause
-          yambar_cpu
-          yambar_memory
-          strip_js_comments
-          river_init_lesser
-          grades
-          shell_library
-          flake_update
-          # external deps
-          
-          user_js
-          neovim_config
-          snap-sync
-          # modules
-          
-          impermanence
-          ;
-      };
-    };
-  };
-  ageConfig = import ../secrets;
-  impermanenceConfig = import ../system/impermanence;
-  defaultModules = [
-    agenix.nixosModules.default
-    ageConfig
-
-    serverphone.nixosModules.default
-
-    disko.nixosModules.default
-
-    lanzaboote.nixosModules.lanzaboote
-
-    home-manager.nixosModules.home-manager
-    homeManagerConfig
-
-    impermanence.nixosModules.impermanence
-    impermanenceConfig
-  ];
-  defaultSpecialArgs = {
-    nixpkgs-as-input = nixpkgs;
-    inherit templates sysLib serverphone system;
-  };
-in {
-  nixosConfigurations = import ./nixosConfigurations {
+  home_manager_config = import ../home-manager {
     inherit
-      system
       pkgs
-      nixpkgs
       sysLib
-      # configs
+      # extra information
       
-      defaultModules
-      defaultSpecialArgs
+      system
       # bins
       
       video_pause
@@ -112,14 +52,38 @@ in {
       user_js
       neovim_config
       snap-sync
-      templates
       # modules
       
       impermanence
-      home-manager
-      agenix
-      serverphone
-      disko
+      ;
+  };
+  defaultModules = [
+    agenix.nixosModules.default
+
+    disko.nixosModules.default
+
+    home-manager.nixosModules.home-manager
+    home_manager_config
+
+    impermanence.nixosModules.impermanence
+
+    lanzaboote.nixosModules.lanzaboote
+
+    serverphone.nixosModules.default
+  ];
+  defaultSpecialArgs = {
+    inherit templates sysLib serverphone system nixpkgs_as_input;
+  };
+in {
+  nixosConfigurations = import ./nixosConfigurations {
+    inherit
+      system
+      pkgs
+      nixpkgs_as_input
+      # configs
+      
+      defaultModules
+      defaultSpecialArgs
       ;
   };
   packages."${system}" = import ./packages {
diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix
index 198d9c73..f2110eb9 100644
--- a/flake/nixosConfigurations/default.nix
+++ b/flake/nixosConfigurations/default.nix
@@ -1,35 +1,15 @@
 {
   system,
   pkgs,
-  nixpkgs,
-  sysLib,
+  nixpkgs_as_input,
   # configs
   defaultModules,
   defaultSpecialArgs,
-  # bins
-  video_pause,
-  yambar_cpu,
-  yambar_memory,
-  strip_js_comments,
-  river_init_lesser,
-  grades,
-  shell_library,
-  # external deps
-  user_js,
-  neovim_config,
-  snap-sync,
-  templates,
-  # modules
-  impermanence,
-  home-manager,
-  agenix,
-  serverphone,
-  disko,
   ...
 }: let
   generateHost = name: {
     name = "${name}";
-    value = nixpkgs.lib.nixosSystem {
+    value = nixpkgs_as_input.lib.nixosSystem {
       inherit system pkgs;
       specialArgs = defaultSpecialArgs;
       modules =
diff --git a/home-manager/default.nix b/home-manager/default.nix
index 3779dbeb..0d1958f2 100644
--- a/home-manager/default.nix
+++ b/home-manager/default.nix
@@ -1,36 +1,55 @@
-{impermanence, ...}: let
-  # TODO actually use this in the user config
-  username = "soispha";
-  homeDirectory = "/home/${username}";
-
-  # xdg
-  configHome = "${homeDirectory}/.config";
-  dataHome = "${homeDirectory}/.local/share";
-  stateHome = "${homeDirectory}/.local/state";
-  cacheHome = "${homeDirectory}/.cache";
-  binHome = "${homeDirectory}/.local/bin";
-  # TODO add XDG_RUNTIME_DIR
-in {
-  imports = [
-    impermanence.nixosModules.home-manager.impermanence
-    #"${impermanence}/home-manager.nix"
-    ./impermanence
-    ./packages
-    ./config
-    ./wms
-    ./files
-  ];
-
-  # I don't know what this does, but I've seen it a lot online, so it should be good, right?
-  programs.home-manager.enable = true;
-
-  home = {
-    inherit username homeDirectory;
-    stateVersion = "23.05";
-    enableNixpkgsReleaseCheck = true;
-  };
-  xdg = {
-    inherit configHome dataHome stateHome cacheHome; #binHome; # TODO add binHome, when the standart is extended
-    enable = true;
+{
+  pkgs,
+  sysLib,
+  # extra information
+  system,
+  # bins
+  video_pause,
+  yambar_cpu,
+  yambar_memory,
+  strip_js_comments,
+  river_init_lesser,
+  grades,
+  shell_library,
+  flake_update,
+  # external deps
+  user_js,
+  neovim_config,
+  snap-sync,
+  # modules
+  impermanence,
+  ...
+}: {
+  home-manager = {
+    useGlobalPkgs = true;
+    useUserPackages = true;
+    users.soispha = import ./soispha;
+    extraSpecialArgs = {
+      inherit
+        pkgs
+        sysLib
+        # extra information
+        
+        system
+        # bins
+        
+        video_pause
+        yambar_cpu
+        yambar_memory
+        strip_js_comments
+        river_init_lesser
+        grades
+        shell_library
+        flake_update
+        # external deps
+        
+        user_js
+        neovim_config
+        snap-sync
+        # modules
+        
+        impermanence
+        ;
+    };
   };
 }
diff --git a/home-manager/config/alacritty/alacritty.yml b/home-manager/soispha/config/alacritty/alacritty.yml
index ad6e417e..ad6e417e 100644
--- a/home-manager/config/alacritty/alacritty.yml
+++ b/home-manager/soispha/config/alacritty/alacritty.yml
diff --git a/home-manager/config/alacritty/default.nix b/home-manager/soispha/config/alacritty/default.nix
index 4e98f502..4e98f502 100644
--- a/home-manager/config/alacritty/default.nix
+++ b/home-manager/soispha/config/alacritty/default.nix
diff --git a/home-manager/config/btop/default.nix b/home-manager/soispha/config/btop/default.nix
index 06b56ea7..06b56ea7 100644
--- a/home-manager/config/btop/default.nix
+++ b/home-manager/soispha/config/btop/default.nix
diff --git a/home-manager/config/dconf/default.nix b/home-manager/soispha/config/dconf/default.nix
index dc439e1e..dc439e1e 100644
--- a/home-manager/config/dconf/default.nix
+++ b/home-manager/soispha/config/dconf/default.nix
diff --git a/home-manager/config/default.nix b/home-manager/soispha/config/default.nix
index 4dfb0f9b..4dfb0f9b 100644
--- a/home-manager/config/default.nix
+++ b/home-manager/soispha/config/default.nix
diff --git a/home-manager/config/direnv/default.nix b/home-manager/soispha/config/direnv/default.nix
index 3a7b8add..3a7b8add 100644
--- a/home-manager/config/direnv/default.nix
+++ b/home-manager/soispha/config/direnv/default.nix
diff --git a/home-manager/config/firefox/config/bookmarks/default.nix b/home-manager/soispha/config/firefox/config/bookmarks/default.nix
index 4de83ac9..4de83ac9 100644
--- a/home-manager/config/firefox/config/bookmarks/default.nix
+++ b/home-manager/soispha/config/firefox/config/bookmarks/default.nix
diff --git a/home-manager/config/firefox/config/chrome/userChrome.css b/home-manager/soispha/config/firefox/config/chrome/userChrome.css
index 0b3aff77..0b3aff77 100644
--- a/home-manager/config/firefox/config/chrome/userChrome.css
+++ b/home-manager/soispha/config/firefox/config/chrome/userChrome.css
diff --git a/home-manager/config/firefox/config/extensions/extensions.json b/home-manager/soispha/config/firefox/config/extensions/extensions.json
index 735ef932..735ef932 100644
--- a/home-manager/config/firefox/config/extensions/extensions.json
+++ b/home-manager/soispha/config/firefox/config/extensions/extensions.json
diff --git a/home-manager/config/firefox/config/prefs/default.nix b/home-manager/soispha/config/firefox/config/prefs/default.nix
index e0e72cf9..e0e72cf9 100644
--- a/home-manager/config/firefox/config/prefs/default.nix
+++ b/home-manager/soispha/config/firefox/config/prefs/default.nix
diff --git a/home-manager/config/firefox/config/prefs/override.js b/home-manager/soispha/config/firefox/config/prefs/override.js
index 7e63e532..7e63e532 100644
--- a/home-manager/config/firefox/config/prefs/override.js
+++ b/home-manager/soispha/config/firefox/config/prefs/override.js
diff --git a/home-manager/config/firefox/config/search/engines/default.nix b/home-manager/soispha/config/firefox/config/search/engines/default.nix
index 286d7247..286d7247 100644
--- a/home-manager/config/firefox/config/search/engines/default.nix
+++ b/home-manager/soispha/config/firefox/config/search/engines/default.nix
diff --git a/home-manager/config/firefox/default.nix b/home-manager/soispha/config/firefox/default.nix
index 3c792045..3c792045 100644
--- a/home-manager/config/firefox/default.nix
+++ b/home-manager/soispha/config/firefox/default.nix
diff --git a/home-manager/config/firefox/functions/bookmarks/default.nix b/home-manager/soispha/config/firefox/functions/bookmarks/default.nix
index d1d89dd2..d1d89dd2 100644
--- a/home-manager/config/firefox/functions/bookmarks/default.nix
+++ b/home-manager/soispha/config/firefox/functions/bookmarks/default.nix
diff --git a/home-manager/config/firefox/functions/extensions/default.nix b/home-manager/soispha/config/firefox/functions/extensions/default.nix
index b84461c7..b84461c7 100644
--- a/home-manager/config/firefox/functions/extensions/default.nix
+++ b/home-manager/soispha/config/firefox/functions/extensions/default.nix
diff --git a/home-manager/config/firefox/functions/extensions/video-pauser.nix b/home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix
index c4c5238f..c4c5238f 100644
--- a/home-manager/config/firefox/functions/extensions/video-pauser.nix
+++ b/home-manager/soispha/config/firefox/functions/extensions/video-pauser.nix
diff --git a/home-manager/config/firefox/scripts/unzip_mozlz4.py b/home-manager/soispha/config/firefox/scripts/unzip_mozlz4.py
index 311fd214..311fd214 100755
--- a/home-manager/config/firefox/scripts/unzip_mozlz4.py
+++ b/home-manager/soispha/config/firefox/scripts/unzip_mozlz4.py
diff --git a/home-manager/config/firefox/scripts/update_extensions b/home-manager/soispha/config/firefox/scripts/update_extensions
index 05f47aad..05f47aad 100755
--- a/home-manager/config/firefox/scripts/update_extensions
+++ b/home-manager/soispha/config/firefox/scripts/update_extensions
diff --git a/home-manager/config/gammastep/default.nix b/home-manager/soispha/config/gammastep/default.nix
index 6090921b..6090921b 100644
--- a/home-manager/config/gammastep/default.nix
+++ b/home-manager/soispha/config/gammastep/default.nix
diff --git a/home-manager/config/git/default.nix b/home-manager/soispha/config/git/default.nix
index 9e15da1d..9e15da1d 100644
--- a/home-manager/config/git/default.nix
+++ b/home-manager/soispha/config/git/default.nix
diff --git a/home-manager/config/git/git_ignore.git b/home-manager/soispha/config/git/git_ignore.git
index 8f29815e..8f29815e 100644
--- a/home-manager/config/git/git_ignore.git
+++ b/home-manager/soispha/config/git/git_ignore.git
diff --git a/home-manager/config/git/git_template.git b/home-manager/soispha/config/git/git_template.git
index 9621698d..9621698d 100644
--- a/home-manager/config/git/git_template.git
+++ b/home-manager/soispha/config/git/git_template.git
diff --git a/home-manager/config/gpg/agent-program b/home-manager/soispha/config/gpg/agent-program
index e6917db0..e6917db0 100755
--- a/home-manager/config/gpg/agent-program
+++ b/home-manager/soispha/config/gpg/agent-program
diff --git a/home-manager/config/gpg/default.nix b/home-manager/soispha/config/gpg/default.nix
index 52069c94..52069c94 100644
--- a/home-manager/config/gpg/default.nix
+++ b/home-manager/soispha/config/gpg/default.nix
diff --git a/home-manager/config/gpg/keys/key_1 b/home-manager/soispha/config/gpg/keys/key_1
index b10b8b6c..b10b8b6c 100644
--- a/home-manager/config/gpg/keys/key_1
+++ b/home-manager/soispha/config/gpg/keys/key_1
Binary files differdiff --git a/home-manager/config/gpg/keys/key_2 b/home-manager/soispha/config/gpg/keys/key_2
index 0b06cf3b..0b06cf3b 100644
--- a/home-manager/config/gpg/keys/key_2
+++ b/home-manager/soispha/config/gpg/keys/key_2
Binary files differdiff --git a/home-manager/config/gpg/keys/key_3 b/home-manager/soispha/config/gpg/keys/key_3
index 22ffb931..22ffb931 100644
--- a/home-manager/config/gpg/keys/key_3
+++ b/home-manager/soispha/config/gpg/keys/key_3
Binary files differdiff --git a/home-manager/config/grades/config.yaml b/home-manager/soispha/config/grades/config.yaml
index 36712971..36712971 100644
--- a/home-manager/config/grades/config.yaml
+++ b/home-manager/soispha/config/grades/config.yaml
diff --git a/home-manager/config/grades/default.nix b/home-manager/soispha/config/grades/default.nix
index d2678174..d2678174 100644
--- a/home-manager/config/grades/default.nix
+++ b/home-manager/soispha/config/grades/default.nix
diff --git a/home-manager/config/gtk/default.nix b/home-manager/soispha/config/gtk/default.nix
index f5411369..f5411369 100644
--- a/home-manager/config/gtk/default.nix
+++ b/home-manager/soispha/config/gtk/default.nix
diff --git a/home-manager/config/himalaya/default.nix b/home-manager/soispha/config/himalaya/default.nix
index 99329a34..99329a34 100644
--- a/home-manager/config/himalaya/default.nix
+++ b/home-manager/soispha/config/himalaya/default.nix
diff --git a/home-manager/config/keepassxc/default.nix b/home-manager/soispha/config/keepassxc/default.nix
index 3ac82812..3ac82812 100644
--- a/home-manager/config/keepassxc/default.nix
+++ b/home-manager/soispha/config/keepassxc/default.nix
diff --git a/home-manager/config/keepassxc/keepassxc.ini b/home-manager/soispha/config/keepassxc/keepassxc.ini
index 288a194b..288a194b 100644
--- a/home-manager/config/keepassxc/keepassxc.ini
+++ b/home-manager/soispha/config/keepassxc/keepassxc.ini
diff --git a/home-manager/config/latexindent/default.nix b/home-manager/soispha/config/latexindent/default.nix
index 0d776e14..0d776e14 100644
--- a/home-manager/config/latexindent/default.nix
+++ b/home-manager/soispha/config/latexindent/default.nix
diff --git a/home-manager/config/latexindent/indentconfig.yaml b/home-manager/soispha/config/latexindent/indentconfig.yaml
index d67351f3..d67351f3 100644
--- a/home-manager/config/latexindent/indentconfig.yaml
+++ b/home-manager/soispha/config/latexindent/indentconfig.yaml
diff --git a/home-manager/config/latexindent/mysettings.yaml b/home-manager/soispha/config/latexindent/mysettings.yaml
index 9a0f8b2f..9a0f8b2f 100644
--- a/home-manager/config/latexindent/mysettings.yaml
+++ b/home-manager/soispha/config/latexindent/mysettings.yaml
diff --git a/home-manager/config/less/default.nix b/home-manager/soispha/config/less/default.nix
index fe7142f1..fe7142f1 100644
--- a/home-manager/config/less/default.nix
+++ b/home-manager/soispha/config/less/default.nix
diff --git a/home-manager/config/lf/colors b/home-manager/soispha/config/lf/colors
index b2289b4e..b2289b4e 100644
--- a/home-manager/config/lf/colors
+++ b/home-manager/soispha/config/lf/colors
diff --git a/home-manager/config/lf/commands/default.nix b/home-manager/soispha/config/lf/commands/default.nix
index 67362fd0..67362fd0 100644
--- a/home-manager/config/lf/commands/default.nix
+++ b/home-manager/soispha/config/lf/commands/default.nix
diff --git a/home-manager/config/lf/commands/scripts/archive b/home-manager/soispha/config/lf/commands/scripts/archive
index 48fe25fc..48fe25fc 100755
--- a/home-manager/config/lf/commands/scripts/archive
+++ b/home-manager/soispha/config/lf/commands/scripts/archive
diff --git a/home-manager/config/lf/commands/scripts/broot_jump b/home-manager/soispha/config/lf/commands/scripts/broot_jump
index abefc616..abefc616 100755
--- a/home-manager/config/lf/commands/scripts/broot_jump
+++ b/home-manager/soispha/config/lf/commands/scripts/broot_jump
diff --git a/home-manager/config/lf/commands/scripts/chmod b/home-manager/soispha/config/lf/commands/scripts/chmod
index 07bc37cc..07bc37cc 100755
--- a/home-manager/config/lf/commands/scripts/chmod
+++ b/home-manager/soispha/config/lf/commands/scripts/chmod
diff --git a/home-manager/config/lf/commands/scripts/clear_trash b/home-manager/soispha/config/lf/commands/scripts/clear_trash
index f2571fcc..f2571fcc 100755
--- a/home-manager/config/lf/commands/scripts/clear_trash
+++ b/home-manager/soispha/config/lf/commands/scripts/clear_trash
diff --git a/home-manager/config/lf/commands/scripts/dl_file b/home-manager/soispha/config/lf/commands/scripts/dl_file
index 54518049..54518049 100755
--- a/home-manager/config/lf/commands/scripts/dl_file
+++ b/home-manager/soispha/config/lf/commands/scripts/dl_file
diff --git a/home-manager/config/lf/commands/scripts/dragon b/home-manager/soispha/config/lf/commands/scripts/dragon
index 7e2d9ba6..7e2d9ba6 100755
--- a/home-manager/config/lf/commands/scripts/dragon
+++ b/home-manager/soispha/config/lf/commands/scripts/dragon
diff --git a/home-manager/config/lf/commands/scripts/dragon_individual b/home-manager/soispha/config/lf/commands/scripts/dragon_individual
index 5d55aaa8..5d55aaa8 100755
--- a/home-manager/config/lf/commands/scripts/dragon_individual
+++ b/home-manager/soispha/config/lf/commands/scripts/dragon_individual
diff --git a/home-manager/config/lf/commands/scripts/dragon_stay b/home-manager/soispha/config/lf/commands/scripts/dragon_stay
index f3483483..f3483483 100755
--- a/home-manager/config/lf/commands/scripts/dragon_stay
+++ b/home-manager/soispha/config/lf/commands/scripts/dragon_stay
diff --git a/home-manager/config/lf/commands/scripts/fzf_jump b/home-manager/soispha/config/lf/commands/scripts/fzf_jump
index c05216f0..c05216f0 100755
--- a/home-manager/config/lf/commands/scripts/fzf_jump
+++ b/home-manager/soispha/config/lf/commands/scripts/fzf_jump
diff --git a/home-manager/config/lf/commands/scripts/mk_dir b/home-manager/soispha/config/lf/commands/scripts/mk_dir
index 4dca06dc..4dca06dc 100755
--- a/home-manager/config/lf/commands/scripts/mk_dir
+++ b/home-manager/soispha/config/lf/commands/scripts/mk_dir
diff --git a/home-manager/config/lf/commands/scripts/mk_file b/home-manager/soispha/config/lf/commands/scripts/mk_file
index 2e5a2deb..2e5a2deb 100755
--- a/home-manager/config/lf/commands/scripts/mk_file
+++ b/home-manager/soispha/config/lf/commands/scripts/mk_file
diff --git a/home-manager/config/lf/commands/scripts/mk_ln b/home-manager/soispha/config/lf/commands/scripts/mk_ln
index 1e97517f..1e97517f 100755
--- a/home-manager/config/lf/commands/scripts/mk_ln
+++ b/home-manager/soispha/config/lf/commands/scripts/mk_ln
diff --git a/home-manager/config/lf/commands/scripts/mk_scr_default b/home-manager/soispha/config/lf/commands/scripts/mk_scr_default
index b13ca9f5..b13ca9f5 100755
--- a/home-manager/config/lf/commands/scripts/mk_scr_default
+++ b/home-manager/soispha/config/lf/commands/scripts/mk_scr_default
diff --git a/home-manager/config/lf/commands/scripts/mk_scr_temp b/home-manager/soispha/config/lf/commands/scripts/mk_scr_temp
index a520469c..a520469c 100755
--- a/home-manager/config/lf/commands/scripts/mk_scr_temp
+++ b/home-manager/soispha/config/lf/commands/scripts/mk_scr_temp
diff --git a/home-manager/config/lf/commands/scripts/open b/home-manager/soispha/config/lf/commands/scripts/open
index c507482b..c507482b 100755
--- a/home-manager/config/lf/commands/scripts/open
+++ b/home-manager/soispha/config/lf/commands/scripts/open
diff --git a/home-manager/config/lf/commands/scripts/open_config b/home-manager/soispha/config/lf/commands/scripts/open_config
index c99422f1..c99422f1 100755
--- a/home-manager/config/lf/commands/scripts/open_config
+++ b/home-manager/soispha/config/lf/commands/scripts/open_config
diff --git a/home-manager/config/lf/commands/scripts/restore_trash b/home-manager/soispha/config/lf/commands/scripts/restore_trash
index a7bf0094..a7bf0094 100755
--- a/home-manager/config/lf/commands/scripts/restore_trash
+++ b/home-manager/soispha/config/lf/commands/scripts/restore_trash
diff --git a/home-manager/config/lf/commands/scripts/set_wall_paper b/home-manager/soispha/config/lf/commands/scripts/set_wall_paper
index 45049283..45049283 100755
--- a/home-manager/config/lf/commands/scripts/set_wall_paper
+++ b/home-manager/soispha/config/lf/commands/scripts/set_wall_paper
diff --git a/home-manager/config/lf/commands/scripts/stripspace b/home-manager/soispha/config/lf/commands/scripts/stripspace
index 91714712..91714712 100755
--- a/home-manager/config/lf/commands/scripts/stripspace
+++ b/home-manager/soispha/config/lf/commands/scripts/stripspace
diff --git a/home-manager/config/lf/commands/scripts/trash b/home-manager/soispha/config/lf/commands/scripts/trash
index 7f477550..7f477550 100755
--- a/home-manager/config/lf/commands/scripts/trash
+++ b/home-manager/soispha/config/lf/commands/scripts/trash
diff --git a/home-manager/config/lf/commands/scripts/unarchive b/home-manager/soispha/config/lf/commands/scripts/unarchive
index 69cc601c..69cc601c 100755
--- a/home-manager/config/lf/commands/scripts/unarchive
+++ b/home-manager/soispha/config/lf/commands/scripts/unarchive
diff --git a/home-manager/config/lf/default.nix b/home-manager/soispha/config/lf/default.nix
index 9f43a891..9f43a891 100644
--- a/home-manager/config/lf/default.nix
+++ b/home-manager/soispha/config/lf/default.nix
diff --git a/home-manager/config/lf/icons b/home-manager/soispha/config/lf/icons
index 7ef62a0b..7ef62a0b 100644
--- a/home-manager/config/lf/icons
+++ b/home-manager/soispha/config/lf/icons
diff --git a/home-manager/config/lf/keybindings/default.nix b/home-manager/soispha/config/lf/keybindings/default.nix
index bd11f3e3..bd11f3e3 100644
--- a/home-manager/config/lf/keybindings/default.nix
+++ b/home-manager/soispha/config/lf/keybindings/default.nix
diff --git a/home-manager/config/mail/default.nix b/home-manager/soispha/config/mail/default.nix
index f934b68c..f934b68c 100644
--- a/home-manager/config/mail/default.nix
+++ b/home-manager/soispha/config/mail/default.nix
diff --git a/home-manager/config/mail/non_public_accounts.nix b/home-manager/soispha/config/mail/non_public_accounts.nix
index edd2f6ba..edd2f6ba 100644
--- a/home-manager/config/mail/non_public_accounts.nix
+++ b/home-manager/soispha/config/mail/non_public_accounts.nix
Binary files differdiff --git a/home-manager/config/mako/default.nix b/home-manager/soispha/config/mako/default.nix
index e6eb5eb3..e6eb5eb3 100644
--- a/home-manager/config/mako/default.nix
+++ b/home-manager/soispha/config/mako/default.nix
diff --git a/home-manager/config/mbsync/default.nix b/home-manager/soispha/config/mbsync/default.nix
index 6be4f57c..6be4f57c 100644
--- a/home-manager/config/mbsync/default.nix
+++ b/home-manager/soispha/config/mbsync/default.nix
diff --git a/home-manager/config/mpd/default.nix b/home-manager/soispha/config/mpd/default.nix
index bbd345a7..bbd345a7 100644
--- a/home-manager/config/mpd/default.nix
+++ b/home-manager/soispha/config/mpd/default.nix
diff --git a/home-manager/config/mpd/mpdconf.example b/home-manager/soispha/config/mpd/mpdconf.example
index eaa5e641..eaa5e641 100644
--- a/home-manager/config/mpd/mpdconf.example
+++ b/home-manager/soispha/config/mpd/mpdconf.example
diff --git a/home-manager/config/mpv/default.nix b/home-manager/soispha/config/mpv/default.nix
index 63e36117..63e36117 100644
--- a/home-manager/config/mpv/default.nix
+++ b/home-manager/soispha/config/mpv/default.nix
diff --git a/home-manager/config/mumble/Mumble.conf b/home-manager/soispha/config/mumble/Mumble.conf
index 2d895f41..2d895f41 100644
--- a/home-manager/config/mumble/Mumble.conf
+++ b/home-manager/soispha/config/mumble/Mumble.conf
diff --git a/home-manager/config/mumble/default.nix b/home-manager/soispha/config/mumble/default.nix
index 6fa524dc..6fa524dc 100644
--- a/home-manager/config/mumble/default.nix
+++ b/home-manager/soispha/config/mumble/default.nix
diff --git a/home-manager/config/neomutt/default.nix b/home-manager/soispha/config/neomutt/default.nix
index e4fbcb39..e4fbcb39 100644
--- a/home-manager/config/neomutt/default.nix
+++ b/home-manager/soispha/config/neomutt/default.nix
diff --git a/home-manager/config/neovim/default.nix b/home-manager/soispha/config/neovim/default.nix
index c84b6aaa..c84b6aaa 100644
--- a/home-manager/config/neovim/default.nix
+++ b/home-manager/soispha/config/neovim/default.nix
diff --git a/home-manager/config/nheko/default.nix b/home-manager/soispha/config/nheko/default.nix
index fd147c0b..fd147c0b 100644
--- a/home-manager/config/nheko/default.nix
+++ b/home-manager/soispha/config/nheko/default.nix
diff --git a/home-manager/config/npm/.npmrc b/home-manager/soispha/config/npm/.npmrc
index d0d846bd..d0d846bd 100644
--- a/home-manager/config/npm/.npmrc
+++ b/home-manager/soispha/config/npm/.npmrc
diff --git a/home-manager/config/npm/default.nix b/home-manager/soispha/config/npm/default.nix
index 7b4bb6a1..7b4bb6a1 100644
--- a/home-manager/config/npm/default.nix
+++ b/home-manager/soispha/config/npm/default.nix
diff --git a/home-manager/config/python/default.nix b/home-manager/soispha/config/python/default.nix
index eeaccdcf..eeaccdcf 100644
--- a/home-manager/config/python/default.nix
+++ b/home-manager/soispha/config/python/default.nix
diff --git a/home-manager/config/python/pythonrc b/home-manager/soispha/config/python/pythonrc
index 38c48e0f..38c48e0f 100644
--- a/home-manager/config/python/pythonrc
+++ b/home-manager/soispha/config/python/pythonrc
diff --git a/home-manager/config/rclone/default.nix b/home-manager/soispha/config/rclone/default.nix
index bd0c1ac2..bd0c1ac2 100644
--- a/home-manager/config/rclone/default.nix
+++ b/home-manager/soispha/config/rclone/default.nix
diff --git a/home-manager/config/rclone/rclone.conf b/home-manager/soispha/config/rclone/rclone.conf
index 9e1c4f08..9e1c4f08 100644
--- a/home-manager/config/rclone/rclone.conf
+++ b/home-manager/soispha/config/rclone/rclone.conf
diff --git a/home-manager/config/ssh/default.nix b/home-manager/soispha/config/ssh/default.nix
index 7160adac..7160adac 100644
--- a/home-manager/config/ssh/default.nix
+++ b/home-manager/soispha/config/ssh/default.nix
diff --git a/home-manager/config/swayidle/config b/home-manager/soispha/config/swayidle/config
index 8ba07850..8ba07850 100644
--- a/home-manager/config/swayidle/config
+++ b/home-manager/soispha/config/swayidle/config
diff --git a/home-manager/config/swayidle/default.nix b/home-manager/soispha/config/swayidle/default.nix
index 073498a7..073498a7 100644
--- a/home-manager/config/swayidle/default.nix
+++ b/home-manager/soispha/config/swayidle/default.nix
diff --git a/home-manager/config/swaylock/commands.jpg b/home-manager/soispha/config/swaylock/commands.jpg
index 54016503..54016503 100644
--- a/home-manager/config/swaylock/commands.jpg
+++ b/home-manager/soispha/config/swaylock/commands.jpg
Binary files differdiff --git a/home-manager/config/swaylock/default.nix b/home-manager/soispha/config/swaylock/default.nix
index 7c3762cc..7c3762cc 100644
--- a/home-manager/config/swaylock/default.nix
+++ b/home-manager/soispha/config/swaylock/default.nix
diff --git a/home-manager/config/swaylock/gnu.png b/home-manager/soispha/config/swaylock/gnu.png
index d07dee3e..d07dee3e 100644
--- a/home-manager/config/swaylock/gnu.png
+++ b/home-manager/soispha/config/swaylock/gnu.png
Binary files differdiff --git a/home-manager/config/yambar/config/config.yml b/home-manager/soispha/config/yambar/config/config.yml
index bb742fd3..bb742fd3 100644
--- a/home-manager/config/yambar/config/config.yml
+++ b/home-manager/soispha/config/yambar/config/config.yml
diff --git a/home-manager/config/yambar/config/laptop.yml b/home-manager/soispha/config/yambar/config/laptop.yml
index 1c169820..1c169820 100644
--- a/home-manager/config/yambar/config/laptop.yml
+++ b/home-manager/soispha/config/yambar/config/laptop.yml
diff --git a/home-manager/config/yambar/default.nix b/home-manager/soispha/config/yambar/default.nix
index 0bcf8419..0bcf8419 100644
--- a/home-manager/config/yambar/default.nix
+++ b/home-manager/soispha/config/yambar/default.nix
diff --git a/home-manager/config/yambar/scripts/disk b/home-manager/soispha/config/yambar/scripts/disk
index 83b23ad9..83b23ad9 100755
--- a/home-manager/config/yambar/scripts/disk
+++ b/home-manager/soispha/config/yambar/scripts/disk
diff --git a/home-manager/config/yambar/scripts/grades-average b/home-manager/soispha/config/yambar/scripts/grades-average
index 20de5684..20de5684 100755
--- a/home-manager/config/yambar/scripts/grades-average
+++ b/home-manager/soispha/config/yambar/scripts/grades-average
diff --git a/home-manager/config/yambar/scripts/network b/home-manager/soispha/config/yambar/scripts/network
index 8e02d6dc..8e02d6dc 100755
--- a/home-manager/config/yambar/scripts/network
+++ b/home-manager/soispha/config/yambar/scripts/network
diff --git a/home-manager/config/yambar/scripts/old/amixer-monitor b/home-manager/soispha/config/yambar/scripts/old/amixer-monitor
index 9e75acfa..9e75acfa 100755
--- a/home-manager/config/yambar/scripts/old/amixer-monitor
+++ b/home-manager/soispha/config/yambar/scripts/old/amixer-monitor
diff --git a/home-manager/config/yambar/scripts/old/cpu b/home-manager/soispha/config/yambar/scripts/old/cpu
index bae820d0..bae820d0 100755
--- a/home-manager/config/yambar/scripts/old/cpu
+++ b/home-manager/soispha/config/yambar/scripts/old/cpu
diff --git a/home-manager/config/yambar/scripts/old/dfspace b/home-manager/soispha/config/yambar/scripts/old/dfspace
index 0b262481..0b262481 100755
--- a/home-manager/config/yambar/scripts/old/dfspace
+++ b/home-manager/soispha/config/yambar/scripts/old/dfspace
diff --git a/home-manager/config/yambar/scripts/old/grades-average b/home-manager/soispha/config/yambar/scripts/old/grades-average
index a04b958c..a04b958c 100755
--- a/home-manager/config/yambar/scripts/old/grades-average
+++ b/home-manager/soispha/config/yambar/scripts/old/grades-average
diff --git a/home-manager/config/yambar/scripts/old/meminfo b/home-manager/soispha/config/yambar/scripts/old/meminfo
index 0156e94c..0156e94c 100755
--- a/home-manager/config/yambar/scripts/old/meminfo
+++ b/home-manager/soispha/config/yambar/scripts/old/meminfo
diff --git a/home-manager/config/yambar/scripts/old/nmclitest b/home-manager/soispha/config/yambar/scripts/old/nmclitest
index 3e8bc73a..3e8bc73a 100755
--- a/home-manager/config/yambar/scripts/old/nmclitest
+++ b/home-manager/soispha/config/yambar/scripts/old/nmclitest
diff --git a/home-manager/config/yambar/scripts/old/pingtest b/home-manager/soispha/config/yambar/scripts/old/pingtest
index 2b5f9998..2b5f9998 100755
--- a/home-manager/config/yambar/scripts/old/pingtest
+++ b/home-manager/soispha/config/yambar/scripts/old/pingtest
diff --git a/home-manager/config/yambar/scripts/old/yambar-tray b/home-manager/soispha/config/yambar/scripts/old/yambar-tray
index 1704c6dd..1704c6dd 100755
--- a/home-manager/config/yambar/scripts/old/yambar-tray
+++ b/home-manager/soispha/config/yambar/scripts/old/yambar-tray
diff --git a/home-manager/config/yambar/scripts/old/yambar-tray-width b/home-manager/soispha/config/yambar/scripts/old/yambar-tray-width
index 00544e70..00544e70 100755
--- a/home-manager/config/yambar/scripts/old/yambar-tray-width
+++ b/home-manager/soispha/config/yambar/scripts/old/yambar-tray-width
diff --git a/home-manager/config/yambar/scripts/sound-volume b/home-manager/soispha/config/yambar/scripts/sound-volume
index 8494cbd5..8494cbd5 100755
--- a/home-manager/config/yambar/scripts/sound-volume
+++ b/home-manager/soispha/config/yambar/scripts/sound-volume
diff --git a/home-manager/config/zsh/config/custom_cursor.sh b/home-manager/soispha/config/zsh/config/custom_cursor.sh
index 9a6da012..9a6da012 100644
--- a/home-manager/config/zsh/config/custom_cursor.sh
+++ b/home-manager/soispha/config/zsh/config/custom_cursor.sh
diff --git a/home-manager/config/zsh/config/zsh-init.sh b/home-manager/soispha/config/zsh/config/zsh-init.sh
index 4d54d058..4d54d058 100644
--- a/home-manager/config/zsh/config/zsh-init.sh
+++ b/home-manager/soispha/config/zsh/config/zsh-init.sh
diff --git a/home-manager/config/zsh/config/zsh-prompt.sh b/home-manager/soispha/config/zsh/config/zsh-prompt.sh
index 1af12443..1af12443 100644
--- a/home-manager/config/zsh/config/zsh-prompt.sh
+++ b/home-manager/soispha/config/zsh/config/zsh-prompt.sh
diff --git a/home-manager/config/zsh/default.nix b/home-manager/soispha/config/zsh/default.nix
index 01a553d0..01a553d0 100644
--- a/home-manager/config/zsh/default.nix
+++ b/home-manager/soispha/config/zsh/default.nix
diff --git a/home-manager/soispha/default.nix b/home-manager/soispha/default.nix
new file mode 100644
index 00000000..10043080
--- /dev/null
+++ b/home-manager/soispha/default.nix
@@ -0,0 +1,35 @@
+{impermanence, ...}: let
+  # TODO actually use this in the user config
+  username = "soispha";
+  homeDirectory = "/home/${username}";
+
+  # xdg
+  configHome = "${homeDirectory}/.config";
+  dataHome = "${homeDirectory}/.local/share";
+  stateHome = "${homeDirectory}/.local/state";
+  cacheHome = "${homeDirectory}/.cache";
+  binHome = "${homeDirectory}/.local/bin";
+  # TODO add XDG_RUNTIME_DIR
+in {
+  imports = [
+    impermanence.nixosModules.home-manager.impermanence
+    ./impermanence
+    ./packages
+    ./config
+    ./wms
+    ./files
+  ];
+
+  # I don't know what this does, but I've seen it a lot online, so it should be good, right?
+  programs.home-manager.enable = true;
+
+  home = {
+    inherit username homeDirectory;
+    stateVersion = "23.05";
+    enableNixpkgsReleaseCheck = true;
+  };
+  xdg = {
+    inherit configHome dataHome stateHome cacheHome; #binHome; # TODO add binHome, when the standart is extended
+    enable = true;
+  };
+}
diff --git a/home-manager/files/default.nix b/home-manager/soispha/files/default.nix
index 4e16077c..4e16077c 100644
--- a/home-manager/files/default.nix
+++ b/home-manager/soispha/files/default.nix
diff --git a/home-manager/files/wallpaper/abstract-nord.png b/home-manager/soispha/files/wallpaper/abstract-nord.png
index 5ef498bf..5ef498bf 100644
--- a/home-manager/files/wallpaper/abstract-nord.png
+++ b/home-manager/soispha/files/wallpaper/abstract-nord.png
Binary files differdiff --git a/home-manager/files/wallpaper/default.nix b/home-manager/soispha/files/wallpaper/default.nix
index 2c9b3368..2c9b3368 100644
--- a/home-manager/files/wallpaper/default.nix
+++ b/home-manager/soispha/files/wallpaper/default.nix
diff --git a/home-manager/impermanence/default.nix b/home-manager/soispha/impermanence/default.nix
index 90b2152b..90b2152b 100644
--- a/home-manager/impermanence/default.nix
+++ b/home-manager/soispha/impermanence/default.nix
diff --git a/home-manager/packages/default.nix b/home-manager/soispha/packages/default.nix
index 0d6528dd..0d6528dd 100644
--- a/home-manager/packages/default.nix
+++ b/home-manager/soispha/packages/default.nix
diff --git a/home-manager/packages/scripts.nix b/home-manager/soispha/packages/scripts.nix
index 73b52d37..73b52d37 100644
--- a/home-manager/packages/scripts.nix
+++ b/home-manager/soispha/packages/scripts.nix
diff --git a/home-manager/packages/scripts/apps/aumo b/home-manager/soispha/packages/scripts/apps/aumo
index 014df638..014df638 100755
--- a/home-manager/packages/scripts/apps/aumo
+++ b/home-manager/soispha/packages/scripts/apps/aumo
diff --git a/home-manager/packages/scripts/apps/con2pdf b/home-manager/soispha/packages/scripts/apps/con2pdf
index 9cadc376..9cadc376 100755
--- a/home-manager/packages/scripts/apps/con2pdf
+++ b/home-manager/soispha/packages/scripts/apps/con2pdf
diff --git a/home-manager/packages/scripts/small_functions/dldragon b/home-manager/soispha/packages/scripts/small_functions/dldragon
index ea75c362..ea75c362 100755
--- a/home-manager/packages/scripts/small_functions/dldragon
+++ b/home-manager/soispha/packages/scripts/small_functions/dldragon
diff --git a/home-manager/packages/scripts/small_functions/gtk-themes b/home-manager/soispha/packages/scripts/small_functions/gtk-themes
index 6ebf2735..6ebf2735 100755
--- a/home-manager/packages/scripts/small_functions/gtk-themes
+++ b/home-manager/soispha/packages/scripts/small_functions/gtk-themes
diff --git a/home-manager/packages/scripts/small_functions/mocs b/home-manager/soispha/packages/scripts/small_functions/mocs
index e14a84c8..e14a84c8 100755
--- a/home-manager/packages/scripts/small_functions/mocs
+++ b/home-manager/soispha/packages/scripts/small_functions/mocs
diff --git a/home-manager/packages/scripts/small_functions/screen_shot b/home-manager/soispha/packages/scripts/small_functions/screen_shot
index 73eb2ee4..73eb2ee4 100755
--- a/home-manager/packages/scripts/small_functions/screen_shot
+++ b/home-manager/soispha/packages/scripts/small_functions/screen_shot
diff --git a/home-manager/packages/scripts/small_functions/update-sys b/home-manager/soispha/packages/scripts/small_functions/update-sys
index 355682d1..355682d1 100755
--- a/home-manager/packages/scripts/small_functions/update-sys
+++ b/home-manager/soispha/packages/scripts/small_functions/update-sys
diff --git a/home-manager/packages/scripts/wrappers/backsnap b/home-manager/soispha/packages/scripts/wrappers/backsnap
index cd08045d..cd08045d 100755
--- a/home-manager/packages/scripts/wrappers/backsnap
+++ b/home-manager/soispha/packages/scripts/wrappers/backsnap
diff --git a/home-manager/packages/scripts/wrappers/ll b/home-manager/soispha/packages/scripts/wrappers/ll
index cb1fc0ea..cb1fc0ea 100755
--- a/home-manager/packages/scripts/wrappers/ll
+++ b/home-manager/soispha/packages/scripts/wrappers/ll
diff --git a/home-manager/packages/scripts/wrappers/llp b/home-manager/soispha/packages/scripts/wrappers/llp
index 2a21450c..2a21450c 100755
--- a/home-manager/packages/scripts/wrappers/llp
+++ b/home-manager/soispha/packages/scripts/wrappers/llp
diff --git a/home-manager/packages/scripts/wrappers/spodi b/home-manager/soispha/packages/scripts/wrappers/spodi
index 4ff53bff..4ff53bff 100755
--- a/home-manager/packages/scripts/wrappers/spodi
+++ b/home-manager/soispha/packages/scripts/wrappers/spodi
diff --git a/home-manager/packages/scripts/wrappers/virsh-del b/home-manager/soispha/packages/scripts/wrappers/virsh-del
index afcd87c1..afcd87c1 100755
--- a/home-manager/packages/scripts/wrappers/virsh-del
+++ b/home-manager/soispha/packages/scripts/wrappers/virsh-del
diff --git a/home-manager/packages/scripts/wrappers/yti b/home-manager/soispha/packages/scripts/wrappers/yti
index d30188a0..d30188a0 100755
--- a/home-manager/packages/scripts/wrappers/yti
+++ b/home-manager/soispha/packages/scripts/wrappers/yti
diff --git a/home-manager/wms/default.nix b/home-manager/soispha/wms/default.nix
index 610ea2f4..610ea2f4 100644
--- a/home-manager/wms/default.nix
+++ b/home-manager/soispha/wms/default.nix
diff --git a/home-manager/wms/plasma/default.nix b/home-manager/soispha/wms/plasma/default.nix
index f68ee272..f68ee272 100644
--- a/home-manager/wms/plasma/default.nix
+++ b/home-manager/soispha/wms/plasma/default.nix
diff --git a/home-manager/wms/river/default.nix b/home-manager/soispha/wms/river/default.nix
index 43a47b1a..43a47b1a 100644
--- a/home-manager/wms/river/default.nix
+++ b/home-manager/soispha/wms/river/default.nix
diff --git a/home-manager/wms/river/init b/home-manager/soispha/wms/river/init
index 599992e6..599992e6 100755
--- a/home-manager/wms/river/init
+++ b/home-manager/soispha/wms/river/init
diff --git a/home-manager/wms/river/res/keys.ron b/home-manager/soispha/wms/river/res/keys.ron
index a4ad6988..a4ad6988 100644
--- a/home-manager/wms/river/res/keys.ron
+++ b/home-manager/soispha/wms/river/res/keys.ron
diff --git a/home-manager/wms/river/res/moonlander.ron b/home-manager/soispha/wms/river/res/moonlander.ron
index 5a10f333..5a10f333 100644
--- a/home-manager/wms/river/res/moonlander.ron
+++ b/home-manager/soispha/wms/river/res/moonlander.ron
diff --git a/home-manager/wms/river/res/safe_init b/home-manager/soispha/wms/river/res/safe_init
index 8e80026a..8e80026a 100755
--- a/home-manager/wms/river/res/safe_init
+++ b/home-manager/soispha/wms/river/res/safe_init
diff --git a/home-manager/wms/sway/default.nix b/home-manager/soispha/wms/sway/default.nix
index bb3ddb49..bb3ddb49 100644
--- a/home-manager/wms/sway/default.nix
+++ b/home-manager/soispha/wms/sway/default.nix
diff --git a/system/default.nix b/system/default.nix
index 17ed00bc..5faa402d 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -4,7 +4,7 @@
     ./disks
     ./font
     ./hardware
-    #./impermanence already at flake level imported
+    ./impermanence
     ./libvirtd
     ./locale
     ./network
@@ -13,6 +13,7 @@
     ./polkit
     ./power
     ./services
+    ./secrets
     ./sound
     ./tempfiles
     ./users # the position of this item is fully arbitrary
diff --git a/system/font/default.nix b/system/font/default.nix
index 484db7e7..3864b60e 100644
--- a/system/font/default.nix
+++ b/system/font/default.nix
@@ -1,7 +1,4 @@
-{
-  pkgs,
-  ...
-}: let
+{pkgs, ...}: let
   nerdFont = pkgs.nerdfonts.override {
     fonts = [
       "SourceCodePro"
diff --git a/secrets/default.nix b/system/secrets/default.nix
index d1fc1714..d1fc1714 100644
--- a/secrets/default.nix
+++ b/system/secrets/default.nix
diff --git a/secrets/nheko/conf.apzu b/system/secrets/nheko/conf.apzu
index a5437a95..a5437a95 100644
--- a/secrets/nheko/conf.apzu
+++ b/system/secrets/nheko/conf.apzu
diff --git a/secrets/nheko/conf.isimud b/system/secrets/nheko/conf.isimud
index ef6c52b6..ef6c52b6 100644
--- a/secrets/nheko/conf.isimud
+++ b/system/secrets/nheko/conf.isimud
diff --git a/secrets/nheko/conf.tiamat b/system/secrets/nheko/conf.tiamat
index 51cab7df..51cab7df 100644
--- a/secrets/nheko/conf.tiamat
+++ b/system/secrets/nheko/conf.tiamat
diff --git a/secrets/secrets.nix b/system/secrets/secrets.nix
index 36757546..36757546 100644
--- a/secrets/secrets.nix
+++ b/system/secrets/secrets.nix
diff --git a/secrets/serverphone/ca.key b/system/secrets/serverphone/ca.key
index d49c5395..d49c5395 100644
--- a/secrets/serverphone/ca.key
+++ b/system/secrets/serverphone/ca.key
diff --git a/secrets/serverphone/server.key b/system/secrets/serverphone/server.key
index a2720406..a2720406 100644
--- a/secrets/serverphone/server.key
+++ b/system/secrets/serverphone/server.key
diff --git a/system/services/nix/default.nix b/system/services/nix/default.nix
index 1477be1b..491b6a4d 100644
--- a/system/services/nix/default.nix
+++ b/system/services/nix/default.nix
@@ -1,12 +1,10 @@
 {
-  config,
-  lib,
   pkgs,
-  nixpkgs-as-input,
+  nixpkgs_as_input,
   templates,
   ...
 }: let
-  nixpkgs = nixpkgs-as-input;
+  nixpkgs = nixpkgs_as_input;
 in {
   nix = {
     package = pkgs.nixStable;
diff --git a/system/services/serverphone/keys/key_1 b/system/services/serverphone/keys/key_1
index a3496d00..67720882 120000
--- a/system/services/serverphone/keys/key_1
+++ b/system/services/serverphone/keys/key_1
@@ -1 +1 @@
-../../../../home-manager/config/gpg/keys/key_1
\ No newline at end of file
+../../../../home-manager/soispha/config/gpg/keys/key_1
\ No newline at end of file
diff --git a/system/services/serverphone/keys/key_2 b/system/services/serverphone/keys/key_2
index ff3dd5b6..24df7207 120000
--- a/system/services/serverphone/keys/key_2
+++ b/system/services/serverphone/keys/key_2
@@ -1 +1 @@
-../../../../home-manager/config/gpg/keys/key_2
\ No newline at end of file
+../../../../home-manager/soispha/config/gpg/keys/key_2
\ No newline at end of file
diff --git a/update.sh b/update.sh
index 9bb8eba2..f6431055 100755
--- a/update.sh
+++ b/update.sh
@@ -1,4 +1,4 @@
 #!/bin/sh
 # shellcheck disable=SC2086
 
-"$(dirname "$0")"/home-manager/config/firefox/scripts/update_extensions
+./home-manager/soispha/config/firefox/scripts/update_extensions