From 68138fdb0117dede7f4fd10b69a2ea585975674f Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:49:07 -0600 Subject: [PATCH 01/14] feat: changed naming convention --- .../devices/config/{callisto.nix => charon.nix} | 4 ++-- .../devices/config/{ganymede.nix => deimos.nix} | 4 ++-- .../devices/config/{jupiter.nix => mars.nix} | 4 ++-- modules/config/devices/config/synology.nix | 2 +- modules/config/devices/config/tablet.nix | 16 ---------------- .../devices/config/{saturn.nix => venus.nix} | 4 ++-- 6 files changed, 9 insertions(+), 25 deletions(-) rename modules/config/devices/config/{callisto.nix => charon.nix} (84%) rename modules/config/devices/config/{ganymede.nix => deimos.nix} (84%) rename modules/config/devices/config/{jupiter.nix => mars.nix} (92%) delete mode 100755 modules/config/devices/config/tablet.nix rename modules/config/devices/config/{saturn.nix => venus.nix} (93%) diff --git a/modules/config/devices/config/callisto.nix b/modules/config/devices/config/charon.nix similarity index 84% rename from modules/config/devices/config/callisto.nix rename to modules/config/devices/config/charon.nix index 347e7fe..b9e1fd7 100755 --- a/modules/config/devices/config/callisto.nix +++ b/modules/config/devices/config/charon.nix @@ -5,8 +5,8 @@ let ; in { - label = "Callisto"; - name = "callisto"; + label = "Charon"; + name = "charon"; sync = { address0 = ""; }; diff --git a/modules/config/devices/config/ganymede.nix b/modules/config/devices/config/deimos.nix similarity index 84% rename from modules/config/devices/config/ganymede.nix rename to modules/config/devices/config/deimos.nix index 575a739..7d4810d 100755 --- a/modules/config/devices/config/ganymede.nix +++ b/modules/config/devices/config/deimos.nix @@ -5,8 +5,8 @@ let ; in { - label = "Ganymede"; - name = "ganymede"; + label = "Deimos"; + name = "deimos"; sync = { address0 = ""; }; diff --git a/modules/config/devices/config/jupiter.nix b/modules/config/devices/config/mars.nix similarity index 92% rename from modules/config/devices/config/jupiter.nix rename to modules/config/devices/config/mars.nix index 94868b3..4d13dda 100755 --- a/modules/config/devices/config/jupiter.nix +++ b/modules/config/devices/config/mars.nix @@ -6,8 +6,8 @@ let ; in { - label = "Jupiter"; - name = "jupiter"; + label = "Mars"; + name = "mars"; sync = { address0 = ""; }; diff --git a/modules/config/devices/config/synology.nix b/modules/config/devices/config/synology.nix index 42037fb..04530a7 100755 --- a/modules/config/devices/config/synology.nix +++ b/modules/config/devices/config/synology.nix @@ -11,7 +11,7 @@ let user0Name = "Nick"; user1Name = "Garnet"; synologyName = "synology"; - synologyIP = "192.168.50.209"; + synologyIP = "192.168.50.210"; in { label = "Synology"; diff --git a/modules/config/devices/config/tablet.nix b/modules/config/devices/config/tablet.nix deleted file mode 100755 index 0d6c7a3..0000000 --- a/modules/config/devices/config/tablet.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ devicesFunctions }: -let - inherit (devicesFunctions) - dummy - ; -in -{ - name = "tablet"; - label = dummy; - sync = { - address0 = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU"; - }; - ip = { - address0 = "192.168.50.189"; - }; -} diff --git a/modules/config/devices/config/saturn.nix b/modules/config/devices/config/venus.nix similarity index 93% rename from modules/config/devices/config/saturn.nix rename to modules/config/devices/config/venus.nix index 7fd0b87..445f3a5 100755 --- a/modules/config/devices/config/saturn.nix +++ b/modules/config/devices/config/venus.nix @@ -8,8 +8,8 @@ let in { - label = "Saturn"; - name = "saturn"; + label = "Venus"; + name = "venus"; ip = { address0 = "192.168.58.104"; }; From 45c0ede406d59e5fe9c60f4513251f26342d3697 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:49:51 -0600 Subject: [PATCH 02/14] feat: added usbUtils --- modules/home/cli/utilities/usbUtils/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 modules/home/cli/utilities/usbUtils/default.nix diff --git a/modules/home/cli/utilities/usbUtils/default.nix b/modules/home/cli/utilities/usbUtils/default.nix new file mode 100755 index 0000000..ac85568 --- /dev/null +++ b/modules/home/cli/utilities/usbUtils/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + usbutils + ; + }; +} From 62bbd3a0d5500e39aa8d6fb335ecc51c4cf69d3f Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:50:36 -0600 Subject: [PATCH 03/14] feat: tweaked the UI --- .../config/settings/config/cosmetics.nix | 2 +- .../config/themes/config/userChrome.css | 75 +++++++++++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/modules/home/gui/apps/browsers/floorp/config/settings/config/cosmetics.nix b/modules/home/gui/apps/browsers/floorp/config/settings/config/cosmetics.nix index c8c209f..ffa4740 100755 --- a/modules/home/gui/apps/browsers/floorp/config/settings/config/cosmetics.nix +++ b/modules/home/gui/apps/browsers/floorp/config/settings/config/cosmetics.nix @@ -32,7 +32,7 @@ "floorp.browser.tabs.openNewTabPosition" = 1; "services.sync.prefs.sync.floorp.browser.note.memos" = false; "floorp.disable.fullscreen.notification" = true; - "floorp.browser.user.interface" = 8; + "floorp.browser.user.interface" = 1; "browser.newtabpage.activity-stream.floorp.background.type" = 0; "browser.startup.homepage" = "chrome://browser/content/blanktab.html"; "browser.newtabpage.enabled" = false; diff --git a/modules/home/gui/apps/browsers/floorp/config/themes/config/userChrome.css b/modules/home/gui/apps/browsers/floorp/config/themes/config/userChrome.css index 8313c11..732818b 100755 --- a/modules/home/gui/apps/browsers/floorp/config/themes/config/userChrome.css +++ b/modules/home/gui/apps/browsers/floorp/config/themes/config/userChrome.css @@ -93,3 +93,78 @@ visibility: visible !important; opacity: 1 !important; } + +/* One-Line Tweak */ +:root { + --navbarWidth: clamp(300px, 30vw, 30vw); + --animationSpeed: 0.15s; +} + + +/* Oneline tweak */ +#TabsToolbar { + margin-left: var(--navbarWidth) !important; +} + +#nav-bar { + margin-right: calc(100vw - var(--navbarWidth)) !important; +} + +#urlbar-container { + min-width: 0px !important; +} + +:root[uidensity="compact"] #nav-bar { + margin-top: -37px !important; + height: 37px !important; +} + +:root:not([uidensity="compact"]):not([uidensity="touch"]) #nav-bar { + margin-top: -44px !important; + height: 44px !important; +} + +:root[uidensity="touch"] #nav-bar { + margin-top: -49px !important; + height: 49px !important; +} + + +/* Dragging space */ +:root[sizemode="maximized"] #TabsToolbar { + margin-top: 1px; +} + +#TabsToolbar { + margin-top: 5px; +} + + +/* Simplifying interface */ +#nav-bar { + background: none !important; + box-shadow: none !important; +} + +#navigator-toolbox { + border: none !important; +} + +.titlebar-spacer { + display: none !important; +} + +#urlbar-background { + border: none !important; +} + +#urlbar:not(:hover):not([breakout][breakout-extend])>#urlbar-background { + box-shadow: none !important; + background: none !important; +} + +/* Add tab width constraints */ +.tabbrowser-tab { + min-width: 80px !important; + max-width: 150px !important; +} From f3b90e759faefc64119c1df572ad92c3303924f3 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:52:10 -0600 Subject: [PATCH 04/14] feat: added razer packages --- modules/home/default.nix | 21 ++++++++++--------- .../gui/apps/tools/polychromatic/default.nix | 11 ++++++++++ modules/nixos/hardware/razer/default.nix | 3 +++ 3 files changed, 25 insertions(+), 10 deletions(-) create mode 100755 modules/home/gui/apps/tools/polychromatic/default.nix create mode 100755 modules/nixos/hardware/razer/default.nix diff --git a/modules/home/default.nix b/modules/home/default.nix index b8e33e2..1da00fa 100755 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -7,16 +7,16 @@ in flake.homeModules = let inherit (config.machines.devices) - callisto - jupiter - saturn - ganymede + charon + mars + venus + deimos ceres ; inherit (config.people) user0 user1 user2; in { - "${jupiter.name}-${user0}" = { + "${mars.name}-${user0}" = { imports = builtins.attrValues { inherit (modules) cli @@ -52,10 +52,11 @@ in hypr wayland theming + polychromatic ; }; }; - "${jupiter.name}-${user1}" = { + "${mars.name}-${user1}" = { imports = builtins.attrValues { inherit (modules) cli @@ -76,7 +77,7 @@ in ; }; }; - "${saturn.name}-${user2}" = { + "${venus.name}-${user2}" = { imports = builtins.attrValues { inherit (modules) cli @@ -106,7 +107,7 @@ in ; }; }; - "${ganymede.name}-${user0}" = { + "${deimos.name}-${user0}" = { imports = builtins.attrValues { inherit (modules) cli @@ -123,7 +124,7 @@ in ; }; }; - "${ganymede.name}-${user1}" = { + "${deimos.name}-${user1}" = { imports = builtins.attrValues { inherit (modules) cli @@ -144,7 +145,7 @@ in ; }; }; - "${callisto.name}-${user1}" = { + "${charon.name}-${user1}" = { imports = builtins.attrValues { inherit (modules) cli diff --git a/modules/home/gui/apps/tools/polychromatic/default.nix b/modules/home/gui/apps/tools/polychromatic/default.nix new file mode 100755 index 0000000..cf99617 --- /dev/null +++ b/modules/home/gui/apps/tools/polychromatic/default.nix @@ -0,0 +1,11 @@ +{ + pkgs, + ... +}: +{ + home.packages = builtins.attrValues { + inherit (pkgs) + polychromatic + ; + }; +} diff --git a/modules/nixos/hardware/razer/default.nix b/modules/nixos/hardware/razer/default.nix new file mode 100755 index 0000000..a41b567 --- /dev/null +++ b/modules/nixos/hardware/razer/default.nix @@ -0,0 +1,3 @@ +{ + hardware.openrazer.enable = true; +} From a6f4433601593cd1278dc9d3a7b6848e4ed6830b Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:52:49 -0600 Subject: [PATCH 05/14] feat: updated binds --- modules/home/gui/desktop/hypr/land/config/bind.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/modules/home/gui/desktop/hypr/land/config/bind.nix b/modules/home/gui/desktop/hypr/land/config/bind.nix index cd186c0..a384434 100755 --- a/modules/home/gui/desktop/hypr/land/config/bind.nix +++ b/modules/home/gui/desktop/hypr/land/config/bind.nix @@ -43,7 +43,7 @@ let "PageUp, exec, playerctl next" "PageDown, exec, playerctl previous" "Home, exec, playerctl play-pause" - "Space, workspace, previous" + "Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun" ]; superShiftBinds = builtins.map (x: "SUPER SHIFT, " + x) [ @@ -57,15 +57,14 @@ let "T, exec, ghostty" "S, exec, flameshot gui" "period, exec, emote" - "Space, exec, rm -r /home/$USER/.cache/tofi* ; tofi-drun" "Tab, fullscreen, 0" "Backspace, layoutmsg, togglesplit" "P, pin, enable" "F, togglefloating" # "Print, exec, grim -g \"$(slurp)\"" # Utility - "End, exec, hyprctl dispatch exit" - "Insert, exec, reboot now" + "End, exec, shutdown now" + "Insert, exec, systemctl reboot" "Home, exec, swaylock" ]; superCtrlBinds = builtins.map (x: "SUPER CTRL, " + x) [ From 640d9793cccc7220e654e762275fcecfc6436cb8 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:53:37 -0600 Subject: [PATCH 06/14] chore: unfucked volume commands --- modules/home/gui/desktop/wayland/waybar/config/settings.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/home/gui/desktop/wayland/waybar/config/settings.nix b/modules/home/gui/desktop/wayland/waybar/config/settings.nix index ed09a39..3cfdf12 100755 --- a/modules/home/gui/desktop/wayland/waybar/config/settings.nix +++ b/modules/home/gui/desktop/wayland/waybar/config/settings.nix @@ -105,8 +105,8 @@ in tooltip = false; format-muted = " Muted"; on-click = "easyeffects"; - on-scroll-up = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"; - on-scroll-down = "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"; + on-scroll-up = "pactl set-sink-volume alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Line1__sink +5% ; pamixer -i 5"; + on-scroll-down = "pactl set-sink-volume alsa_output.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Line1__sink -5% ; pamixer -d 5"; scroll-step = 5; format-icons = { headphone = ""; From 9c41180795552b5098d4bda5e378edacd40243ff Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:54:09 -0600 Subject: [PATCH 07/14] chore: unfucked wallpaper folder --- modules/home/gui/desktop/wayland/wpaperd/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/home/gui/desktop/wayland/wpaperd/default.nix b/modules/home/gui/desktop/wayland/wpaperd/default.nix index 8a4bf44..6fe6221 100755 --- a/modules/home/gui/desktop/wayland/wpaperd/default.nix +++ b/modules/home/gui/desktop/wayland/wpaperd/default.nix @@ -3,7 +3,7 @@ enable = true; settings = { "default" = { - path = "~/Files/Projects/dotfiles/home/modules/gui/desktop/wayland/wpaperd/wallpaper"; + path = "~/Files/Projects/dotfiles/modules/home/gui/desktop/wayland/wpaperd/wallpaper"; apply-shadow = true; duration = "1m"; sorting = "random"; From aca3a1f3c8e479bb7f58ce0bcc4e4b7d4ffcdc0c Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:55:23 -0600 Subject: [PATCH 08/14] feat: added other systems --- modules/nixos/core/doas/default.nix | 12 ++++++------ modules/nixos/core/ssh/default.nix | 12 ++++++------ modules/nixos/services/ollama/default.nix | 6 +++--- modules/nixos/sops/default.nix | 12 ++++++------ 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/modules/nixos/core/doas/default.nix b/modules/nixos/core/doas/default.nix index 3f52e26..7524240 100755 --- a/modules/nixos/core/doas/default.nix +++ b/modules/nixos/core/doas/default.nix @@ -9,10 +9,10 @@ let devices ; hostname = config.networking.hostName; - jupiter = devices.jupiter.name; + mars = devices.mars.name; ceres = devices.ceres.name; - saturn = devices.saturn.names; - callisto = devices.callisto.name; + venus = devices.venus.names; + charon = devices.charon.name; in { security = { @@ -24,13 +24,13 @@ in noPass = true; users = [ ( - if hostname == jupiter then + if hostname == mars then user0 else if hostname == ceres then user0 - else if hostname == callisto then + else if hostname == charon then user1 - else if hostname == saturn then + else if hostname == venus then user2 else "" diff --git a/modules/nixos/core/ssh/default.nix b/modules/nixos/core/ssh/default.nix index d53bd15..f505f1e 100755 --- a/modules/nixos/core/ssh/default.nix +++ b/modules/nixos/core/ssh/default.nix @@ -16,24 +16,24 @@ let devices ; hostname = config.networking.hostName; - jupiter = devices.jupiter.name; + mars = devices.mars.name; ceres = devices.ceres.name; - saturn = devices.saturn.name; - callisto = devices.callisto.name; + venus = devices.venus.name; + charon = devices.charon.name; userLogic = - if hostname == jupiter then + if hostname == mars then user0 else if hostname == ceres then user0 - else if hostname == saturn then + else if hostname == venus then user2 else ""; in { users.users = - if hostname == callisto then + if hostname == charon then { } else { diff --git a/modules/nixos/services/ollama/default.nix b/modules/nixos/services/ollama/default.nix index 9876fff..6077616 100755 --- a/modules/nixos/services/ollama/default.nix +++ b/modules/nixos/services/ollama/default.nix @@ -6,7 +6,7 @@ }: let inherit (flake.config.machines.devices) - jupiter + mars ceres ; inherit (flake.config.services.instances) @@ -63,7 +63,7 @@ in user = service.name; } // ( - if hostname == jupiter.name then + if hostname == mars.name then { models = service.paths.path1; # acceleration = "rocm"; @@ -98,7 +98,7 @@ in systemd.tmpfiles.rules = [ ( - if hostname == jupiter.name then + if hostname == mars.name then "Z ${service.paths.path1} 0777 ${service.name} ${service.name} -" else "Z ${service.paths.path0} 0755 ${service.name} ${service.name} -" diff --git a/modules/nixos/sops/default.nix b/modules/nixos/sops/default.nix index b9090ad..6ef123c 100755 --- a/modules/nixos/sops/default.nix +++ b/modules/nixos/sops/default.nix @@ -8,17 +8,17 @@ let devices ; hostname = config.networking.hostName; - jupiter = devices.jupiter.name; + mars = devices.mars.name; ceres = devices.ceres.name; - saturn = devices.saturn.name; - callisto = devices.callisto.name; + venus = devices.venus.name; + charon = devices.charon.name; userLogic = - if hostname == jupiter then + if hostname == mars then user0 else if hostname == ceres then user0 - else if hostname == saturn then + else if hostname == venus then user2 else ""; @@ -32,7 +32,7 @@ in generateKey = false; }; secrets = - if hostname == callisto then + if hostname == charon then { } else { From c3c08490ddb94d7d42a911972c67aa7226f66088 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:56:02 -0600 Subject: [PATCH 09/14] chore: unfucked fire tablet compatibility --- modules/nixos/hardware/android/default.nix | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/modules/nixos/hardware/android/default.nix b/modules/nixos/hardware/android/default.nix index 6384ddb..49f045d 100755 --- a/modules/nixos/hardware/android/default.nix +++ b/modules/nixos/hardware/android/default.nix @@ -4,9 +4,22 @@ adb.enable = true; droidcam.enable = true; }; - services.udev.packages = builtins.attrValues { - inherit (pkgs) - android-udev-rules - ; + services.udev = { + enable = true; + packages = builtins.attrValues { + inherit (pkgs) + android-udev-rules + ; + }; + extraRules = '' + # Amazon Fire Tablet + SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0632", MODE="0666", GROUP="adbusers" + SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0632", SYMLINK+="android_adb" + SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0632", SYMLINK+="android_fastboot" + + # General Android rules + SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666" + SUBSYSTEM=="usb", ATTR{idVendor}=="1949", MODE="0666", GROUP="adbusers" + ''; }; } From b33bbbc746a1f6c6750913655ea4a47280ca2808 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:56:58 -0600 Subject: [PATCH 10/14] chore: removed bluetooth enhancements --- modules/nixos/hardware/audio/default.nix | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/modules/nixos/hardware/audio/default.nix b/modules/nixos/hardware/audio/default.nix index 49ea641..f0b90b8 100755 --- a/modules/nixos/hardware/audio/default.nix +++ b/modules/nixos/hardware/audio/default.nix @@ -7,19 +7,6 @@ alsa.support32Bit = true; pulse.enable = true; jack.enable = true; - wireplumber.extraConfig.bluetoothEnhancements = { - "monitor.bluez.properties" = { - "bluez5.enable-sbc-xq" = true; - "bluez5.enable-msbc" = true; - "bluez5.enable-hw-volume" = true; - "bluez5.roles" = [ - "hsp_hs" - "hsp_ag" - "hfp_hf" - "hfp_ag" - ]; - }; - }; }; pulseaudio.enable = false; }; From 33455dccd92054e530f828760701df53093251a3 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:57:19 -0600 Subject: [PATCH 11/14] chore: removed tablet --- modules/nixos/services/syncthing/default.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/modules/nixos/services/syncthing/default.nix b/modules/nixos/services/syncthing/default.nix index 3342c08..f94abc2 100755 --- a/modules/nixos/services/syncthing/default.nix +++ b/modules/nixos/services/syncthing/default.nix @@ -39,14 +39,6 @@ in ]; id = phone.sync.address0; }; - ${tablet.name} = { - autoAcceptFolders = true; - name = tablet.name; - addresses = [ - "tcp://${tablet.ip.address0}:${toString service.ports.port2}" - ]; - id = tablet.sync.address0; - }; }; }; }; From 1b36918cedb39d102575476be189f237ab14eb27 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:58:02 -0600 Subject: [PATCH 12/14] feat: changed system naming convention --- flake.nix | 24 +++++++++---------- modules/nixos/default.nix | 6 ++--- profiles/user0/default.nix | 1 + profiles/user0/files/justfile | 2 +- systems/{callisto => charon}/config/boot.nix | 0 .../config/filesystem.nix | 4 ++-- .../{callisto => charon}/config/graphics.nix | 0 .../{callisto => charon}/config/hardware.nix | 0 .../config/networking.nix | 4 ++-- systems/{callisto => charon}/default.nix | 0 systems/{ganymede => deimos}/config/boot.nix | 0 .../config/filesystem.nix | 4 ++-- .../{ganymede => deimos}/config/graphics.nix | 0 .../{ganymede => deimos}/config/hardware.nix | 0 .../config/networking.nix | 4 ++-- systems/{ganymede => deimos}/config/sops.nix | 0 systems/{jupiter => deimos}/default.nix | 4 ++-- systems/{jupiter => mars}/config/boot.nix | 0 .../{jupiter => mars}/config/filesystem.nix | 14 +++++------ systems/{jupiter => mars}/config/graphics.nix | 0 systems/{jupiter => mars}/config/hardware.nix | 0 .../{jupiter => mars}/config/networking.nix | 7 +++--- systems/{jupiter => mars}/config/sops.nix | 0 systems/{ganymede => mars}/default.nix | 4 ++-- systems/{saturn => venus}/config/boot.nix | 0 .../{saturn => venus}/config/filesystem.nix | 14 +++++------ systems/{saturn => venus}/config/graphics.nix | 0 systems/{saturn => venus}/config/hardware.nix | 0 .../{saturn => venus}/config/networking.nix | 4 ++-- systems/{saturn => venus}/default.nix | 4 ++-- 30 files changed, 51 insertions(+), 49 deletions(-) rename systems/{callisto => charon}/config/boot.nix (100%) rename systems/{callisto => charon}/config/filesystem.nix (85%) rename systems/{callisto => charon}/config/graphics.nix (100%) rename systems/{callisto => charon}/config/hardware.nix (100%) rename systems/{callisto => charon}/config/networking.nix (92%) rename systems/{callisto => charon}/default.nix (100%) rename systems/{ganymede => deimos}/config/boot.nix (100%) rename systems/{ganymede => deimos}/config/filesystem.nix (97%) rename systems/{ganymede => deimos}/config/graphics.nix (100%) rename systems/{ganymede => deimos}/config/hardware.nix (100%) rename systems/{ganymede => deimos}/config/networking.nix (92%) rename systems/{ganymede => deimos}/config/sops.nix (100%) rename systems/{jupiter => deimos}/default.nix (88%) rename systems/{jupiter => mars}/config/boot.nix (100%) rename systems/{jupiter => mars}/config/filesystem.nix (87%) rename systems/{jupiter => mars}/config/graphics.nix (100%) rename systems/{jupiter => mars}/config/hardware.nix (100%) rename systems/{jupiter => mars}/config/networking.nix (89%) rename systems/{jupiter => mars}/config/sops.nix (100%) rename systems/{ganymede => mars}/default.nix (87%) rename systems/{saturn => venus}/config/boot.nix (100%) rename systems/{saturn => venus}/config/filesystem.nix (71%) rename systems/{saturn => venus}/config/graphics.nix (100%) rename systems/{saturn => venus}/config/hardware.nix (100%) rename systems/{saturn => venus}/config/networking.nix (84%) rename systems/{saturn => venus}/default.nix (88%) diff --git a/flake.nix b/flake.nix index 1031401..05e9ba1 100755 --- a/flake.nix +++ b/flake.nix @@ -74,11 +74,11 @@ { config, ... }: { nixosConfigurations = { - jupiter = inputs.self.lib.mkLinuxSystem [ - ./systems/jupiter + mars = inputs.self.lib.mkLinuxSystem [ + ./systems/mars ./profiles/user0 ./profiles/user1 - config.nixosModules.jupiter + config.nixosModules.mars config.nixosModules.core config.nixosModules.mantle config.nixosModules.crust @@ -89,10 +89,10 @@ inputs.sops-nix.nixosModules.sops inputs.nixvim.nixosModules.nixvim ]; - saturn = inputs.self.lib.mkLinuxSystem [ - ./systems/saturn + venus = inputs.self.lib.mkLinuxSystem [ + ./systems/venus ./profiles/user2 - config.nixosModules.saturn + config.nixosModules.venus config.nixosModules.core config.nixosModules.mantle config.nixosModules.crust @@ -100,11 +100,11 @@ inputs.lix-module.nixosModules.default inputs.sops-nix.nixosModules.sops ]; - ganymede = inputs.self.lib.mkLinuxSystem [ - ./systems/ganymede + deimos = inputs.self.lib.mkLinuxSystem [ + ./systems/deimos ./profiles/user0 ./profiles/user1 - config.nixosModules.ganymede + config.nixosModules.deimos config.nixosModules.core config.nixosModules.mantle config.nixosModules.crust @@ -113,10 +113,10 @@ inputs.nur.modules.nixos.default inputs.sops-nix.nixosModules.sops ]; - callisto = inputs.self.lib.mkLinuxSystem [ - ./systems/callisto + charon = inputs.self.lib.mkLinuxSystem [ + ./systems/charon ./profiles/user1 - config.nixosModules.callisto + config.nixosModules.charon config.nixosModules.core config.nixosModules.crust inputs.home-manager.nixosModules.home-manager diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index b1b397f..1f933cc 100755 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -4,7 +4,7 @@ let in { flake.nixosModules = { - jupiter = { + mars = { imports = builtins.attrValues { inherit (modules) mullvad @@ -17,7 +17,7 @@ in }; }; - saturn = { + venus = { imports = builtins.attrValues { inherit (modules) plasma @@ -27,7 +27,7 @@ in }; }; - ganymede = { + deimos = { imports = builtins.attrValues { inherit (modules) gnome diff --git a/profiles/user0/default.nix b/profiles/user0/default.nix index cf65463..33ba64f 100755 --- a/profiles/user0/default.nix +++ b/profiles/user0/default.nix @@ -31,6 +31,7 @@ in "networkmanager" "nextcloud" "ollama" + "plugdev" "postgres" "redis-mastodon" "samba" diff --git a/profiles/user0/files/justfile b/profiles/user0/files/justfile index 4e83af0..3e7a82c 100755 --- a/profiles/user0/files/justfile +++ b/profiles/user0/files/justfile @@ -5,7 +5,7 @@ vpnoff: sudo protonvpn d rebuild: - nixos-rebuild switch --use-remote-sudo --flake ~/Files/Projects/dotfiles#jupiter --show-trace + nixos-rebuild switch --use-remote-sudo --flake ~/Files/Projects/dotfiles#mars --show-trace elm: cd ~/Files/Projects/website/frontend; elm-land server diff --git a/systems/callisto/config/boot.nix b/systems/charon/config/boot.nix similarity index 100% rename from systems/callisto/config/boot.nix rename to systems/charon/config/boot.nix diff --git a/systems/callisto/config/filesystem.nix b/systems/charon/config/filesystem.nix similarity index 85% rename from systems/callisto/config/filesystem.nix rename to systems/charon/config/filesystem.nix index a146e65..0a7cbd4 100755 --- a/systems/callisto/config/filesystem.nix +++ b/systems/charon/config/filesystem.nix @@ -5,7 +5,7 @@ }: let inherit (flake.config.people) user1; - inherit (flake.config.machines.devices) callisto; + inherit (flake.config.machines.devices) charon; in { fileSystems = { @@ -16,7 +16,7 @@ in "/boot" = { device = "/dev/disk/by-uuid/1703-D452"; fsType = "vfat"; - options = callisto.boot.options; + options = charon.boot.options; }; }; diff --git a/systems/callisto/config/graphics.nix b/systems/charon/config/graphics.nix similarity index 100% rename from systems/callisto/config/graphics.nix rename to systems/charon/config/graphics.nix diff --git a/systems/callisto/config/hardware.nix b/systems/charon/config/hardware.nix similarity index 100% rename from systems/callisto/config/hardware.nix rename to systems/charon/config/hardware.nix diff --git a/systems/callisto/config/networking.nix b/systems/charon/config/networking.nix similarity index 92% rename from systems/callisto/config/networking.nix rename to systems/charon/config/networking.nix index 451c38d..64ecc59 100755 --- a/systems/callisto/config/networking.nix +++ b/systems/charon/config/networking.nix @@ -5,12 +5,12 @@ }: let inherit (flake.config.machines.devices) - callisto + charon ; in { networking = { - hostName = callisto.name; + hostName = charon.name; networkmanager.enable = true; nftables.enable = true; useDHCP = lib.mkDefault true; diff --git a/systems/callisto/default.nix b/systems/charon/default.nix similarity index 100% rename from systems/callisto/default.nix rename to systems/charon/default.nix diff --git a/systems/ganymede/config/boot.nix b/systems/deimos/config/boot.nix similarity index 100% rename from systems/ganymede/config/boot.nix rename to systems/deimos/config/boot.nix diff --git a/systems/ganymede/config/filesystem.nix b/systems/deimos/config/filesystem.nix similarity index 97% rename from systems/ganymede/config/filesystem.nix rename to systems/deimos/config/filesystem.nix index bd0ba53..b8d6cc1 100755 --- a/systems/ganymede/config/filesystem.nix +++ b/systems/deimos/config/filesystem.nix @@ -9,7 +9,7 @@ let user1 ; inherit (flake.config.machines.devices) - ganymede + deimos synology ceres ; @@ -63,7 +63,7 @@ in "/boot" = { device = "/dev/disk/by-uuid/C506-9E18"; fsType = "vfat"; - options = ganymede.boot.options; + options = deimos.boot.options; }; } // (builtins.listToAttrs (map synologyMounts synologyDrives)) diff --git a/systems/ganymede/config/graphics.nix b/systems/deimos/config/graphics.nix similarity index 100% rename from systems/ganymede/config/graphics.nix rename to systems/deimos/config/graphics.nix diff --git a/systems/ganymede/config/hardware.nix b/systems/deimos/config/hardware.nix similarity index 100% rename from systems/ganymede/config/hardware.nix rename to systems/deimos/config/hardware.nix diff --git a/systems/ganymede/config/networking.nix b/systems/deimos/config/networking.nix similarity index 92% rename from systems/ganymede/config/networking.nix rename to systems/deimos/config/networking.nix index 9d71960..76d482e 100755 --- a/systems/ganymede/config/networking.nix +++ b/systems/deimos/config/networking.nix @@ -5,12 +5,12 @@ }: let inherit (flake.config.machines.devices) - ganymede + deimos ; in { networking = { - hostName = ganymede.name; + hostName = deimos.name; networkmanager.enable = true; nftables.enable = true; useDHCP = lib.mkDefault true; diff --git a/systems/ganymede/config/sops.nix b/systems/deimos/config/sops.nix similarity index 100% rename from systems/ganymede/config/sops.nix rename to systems/deimos/config/sops.nix diff --git a/systems/jupiter/default.nix b/systems/deimos/default.nix similarity index 88% rename from systems/jupiter/default.nix rename to systems/deimos/default.nix index 84ec802..a3744f2 100755 --- a/systems/jupiter/default.nix +++ b/systems/deimos/default.nix @@ -2,7 +2,7 @@ let configPath = ./config; - jupiterImports = + deimosImports = let files = builtins.attrNames (builtins.readDir configPath); in @@ -11,7 +11,7 @@ let ); in { - imports = jupiterImports; + imports = deimosImports; nixpkgs.hostPlatform = lib.mkForce "x86_64-linux"; system.stateVersion = lib.mkForce "24.05"; } diff --git a/systems/jupiter/config/boot.nix b/systems/mars/config/boot.nix similarity index 100% rename from systems/jupiter/config/boot.nix rename to systems/mars/config/boot.nix diff --git a/systems/jupiter/config/filesystem.nix b/systems/mars/config/filesystem.nix similarity index 87% rename from systems/jupiter/config/filesystem.nix rename to systems/mars/config/filesystem.nix index 97bae83..1cb70b1 100755 --- a/systems/jupiter/config/filesystem.nix +++ b/systems/mars/config/filesystem.nix @@ -9,7 +9,7 @@ let user1 ; inherit (flake.config.machines.devices) - jupiter + mars ceres synology ; @@ -50,11 +50,11 @@ in }; storageMounts = storageDrive: { - name = "${jupiter.${storageDrive}.mount}"; + name = "${mars.${storageDrive}.mount}"; value = { - device = jupiter.${storageDrive}.device; + device = mars.${storageDrive}.device; fsType = "ext4"; - options = jupiter.${storageDrive}.options; + options = mars.${storageDrive}.options; }; }; @@ -77,7 +77,7 @@ in "/boot" = { device = "/dev/disk/by-uuid/F095-17B7"; fsType = "vfat"; - options = jupiter.boot.options; + options = mars.boot.options; }; } // (builtins.listToAttrs (map synologyMounts synologyDrives)) @@ -91,8 +91,8 @@ in systemd.tmpfiles.rules = [ "Z ${config.home-manager.users.${user0}.home.homeDirectory} 0755 ${user0} users -" "Z ${config.home-manager.users.${user1}.home.homeDirectory} 0755 ${user1} users -" - "Z ${jupiter.storage0.mount} 0755 ${user0} users -" - "Z ${jupiter.storage1.mount} 0755 ${user0} users -" + "Z ${mars.storage0.mount} 0755 ${user0} users -" + "Z ${mars.storage1.mount} 0755 ${user0} users -" ]; services.udisks2.enable = true; diff --git a/systems/jupiter/config/graphics.nix b/systems/mars/config/graphics.nix similarity index 100% rename from systems/jupiter/config/graphics.nix rename to systems/mars/config/graphics.nix diff --git a/systems/jupiter/config/hardware.nix b/systems/mars/config/hardware.nix similarity index 100% rename from systems/jupiter/config/hardware.nix rename to systems/mars/config/hardware.nix diff --git a/systems/jupiter/config/networking.nix b/systems/mars/config/networking.nix similarity index 89% rename from systems/jupiter/config/networking.nix rename to systems/mars/config/networking.nix index ed015c6..2304177 100755 --- a/systems/jupiter/config/networking.nix +++ b/systems/mars/config/networking.nix @@ -5,12 +5,12 @@ }: let inherit (flake.config.machines.devices) - jupiter + mars ; in { networking = { - hostName = jupiter.name; + hostName = mars.name; networkmanager.enable = true; nftables.enable = true; useDHCP = lib.mkDefault true; @@ -22,7 +22,8 @@ in 2234 # Soulseek 3131 # Deskreen 1234 # Elm-land server - 55473 + 5037 # ADB Server + 52006 ]; }; }; diff --git a/systems/jupiter/config/sops.nix b/systems/mars/config/sops.nix similarity index 100% rename from systems/jupiter/config/sops.nix rename to systems/mars/config/sops.nix diff --git a/systems/ganymede/default.nix b/systems/mars/default.nix similarity index 87% rename from systems/ganymede/default.nix rename to systems/mars/default.nix index 067b37c..9cbf0e4 100755 --- a/systems/ganymede/default.nix +++ b/systems/mars/default.nix @@ -2,7 +2,7 @@ let configPath = ./config; - ganymedeImports = + marsImports = let files = builtins.attrNames (builtins.readDir configPath); in @@ -11,7 +11,7 @@ let ); in { - imports = ganymedeImports; + imports = marsImports; nixpkgs.hostPlatform = lib.mkForce "x86_64-linux"; system.stateVersion = lib.mkForce "24.05"; } diff --git a/systems/saturn/config/boot.nix b/systems/venus/config/boot.nix similarity index 100% rename from systems/saturn/config/boot.nix rename to systems/venus/config/boot.nix diff --git a/systems/saturn/config/filesystem.nix b/systems/venus/config/filesystem.nix similarity index 71% rename from systems/saturn/config/filesystem.nix rename to systems/venus/config/filesystem.nix index 6e54180..c517920 100755 --- a/systems/saturn/config/filesystem.nix +++ b/systems/venus/config/filesystem.nix @@ -5,7 +5,7 @@ }: let inherit (flake.config.people) user2; - inherit (flake.config.machines.devices) saturn; + inherit (flake.config.machines.devices) venus; in { imports = [ ]; @@ -18,11 +18,11 @@ in ]; storageMounts = storage: { - name = "${saturn.${storage}.mount}"; + name = "${venus.${storage}.mount}"; value = { - device = saturn.${storage}.device; + device = venus.${storage}.device; fsType = "ext4"; - options = saturn.${storage}.options; + options = venus.${storage}.options; }; }; in @@ -34,7 +34,7 @@ in "/boot" = { device = "/dev/disk/by-uuid/22BD-5A25"; fsType = "vfat"; - options = saturn.boot.options; + options = venus.boot.options; }; } // (builtins.listToAttrs (map storageMounts storageDrives)); @@ -45,8 +45,8 @@ in systemd.tmpfiles.rules = [ "Z ${config.home-manager.users.${user2}.home.homeDirectory} 0755 ${user2} users -" - "Z ${saturn.storage0.mount} 0755 ${user2} users -" - "Z ${saturn.storage1.mount} 0755 ${user2} users -" + "Z ${venus.storage0.mount} 0755 ${user2} users -" + "Z ${venus.storage1.mount} 0755 ${user2} users -" ]; services.udisks2.enable = true; diff --git a/systems/saturn/config/graphics.nix b/systems/venus/config/graphics.nix similarity index 100% rename from systems/saturn/config/graphics.nix rename to systems/venus/config/graphics.nix diff --git a/systems/saturn/config/hardware.nix b/systems/venus/config/hardware.nix similarity index 100% rename from systems/saturn/config/hardware.nix rename to systems/venus/config/hardware.nix diff --git a/systems/saturn/config/networking.nix b/systems/venus/config/networking.nix similarity index 84% rename from systems/saturn/config/networking.nix rename to systems/venus/config/networking.nix index 54bdeb3..b774ad9 100755 --- a/systems/saturn/config/networking.nix +++ b/systems/venus/config/networking.nix @@ -4,11 +4,11 @@ ... }: let - inherit (flake.config.machines.devices) saturn; + inherit (flake.config.machines.devices) venus; in { networking = { - hostName = saturn.name; + hostName = venus.name; networkmanager.enable = true; useDHCP = lib.mkDefault true; firewall = { diff --git a/systems/saturn/default.nix b/systems/venus/default.nix similarity index 88% rename from systems/saturn/default.nix rename to systems/venus/default.nix index 76e2a29..e5f8f64 100755 --- a/systems/saturn/default.nix +++ b/systems/venus/default.nix @@ -5,7 +5,7 @@ let configPath = ./config; - saturnImports = + venusImports = let files = builtins.attrNames (builtins.readDir configPath); in @@ -14,7 +14,7 @@ let ); in { - imports = saturnImports; + imports = venusImports; nixpkgs.hostPlatform = lib.mkForce "x86_64-linux"; system.stateVersion = lib.mkForce "24.05"; } From 24d0da7823c4fd17d19bd7a5bd81050f99a993d4 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 15:58:36 -0600 Subject: [PATCH 13/14] feat: added readme --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 README.md diff --git a/README.md b/README.md new file mode 100755 index 0000000..7d0de99 --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# My NixOS Dotfiles + +--- + +This is my current multi-system NixOS configuration. + +## File Structure + +--- + +### `lib/` + +This defines two helper functions that make it easier to create configurations in the `flake`: + +1. `mkHome`: Creates a Home Manager configuration (for managing user-specific settings and packages) +2. `mkLinuxSystem`: Creates a NixOS system configuration (for managing system-wide settings) + +Both functions take some modules (configuration files) as input and set up the necessary environment with some default settings, like allowing unfree packages and passing through important variables (inputs, config, etc.). + +### `modules/config/` + +This defines a configuration schema or template for managing various aspects of the system: + +1. `people`: Creates records for user accounts, their SSH keys, emails, etc. +2. `services`: Creates records for various services with their domains, hostnames, SSL certificates, etc. +3. `machines`: Creates records for different devices with their mount points, IP addresses, and storage configurations +4. `aesthetics`: Creates records for visual appearance settings like fonts, colours, and cursor properties + +It's essentially creating a structured way to organize abstracted configuration data that is declared in multiple places throughout the system configuration. + +### `modules/home/` + +This defines home environment configurations for different users across different machines in a multi-user, multi-device setup. It's using NixOS's home-manager functionality to manage user-specific configurations. Essentially, this is a configuration file that determines which software and configurations each user gets on each machine, allowing for personalized but reproducible user environments across the system. + +### `modules/nixos/` + +This defines a set of NixOS modules that are used to configure different systems. Each system has its own set of module imports that define what features or services are enabled on that system, as well as some shared modules. The file uses a helper function `directoryImport` (imported from ../helpers.nix) to import all the module definitions from the current directory. This allows for modular system configuration where different machines can easily inherit different sets of features and services. These modules are used in the `flake`. + +### `parts/` + +This defines the development environment configuration for the project, which includes: + +1. `devshells`: Creates a default development shell with several development tools. +2. `pre-commit`: Creates pre-commit hooks that run before git commits. + +This setup ensures that anyone working on this project has access to the same development tools and follows the same code formatting and commit message standards. + +### `profiles/` + +This defines NIxOS user configurations and their respective homes. Each profile is designed to be imported into each system configuration via the `flake`, with different settings and tools based on the user's needs and preferences. It also uses `systemd.tmpfiles` to declare custom home folder structures. + +### `secrets/` + +This contains encrypted secrets and credentials using `sops-nix`. This is a security-sensitive file that should be handled carefully as it contains encrypted credentials for multiple services and systems. + +### `systems/` + +This defines the system configurations for different machines. Each machine has similar configuration structure but with specific customizations. The system naming schema follows a celestial convention, with desktops being named after planets, laptops after moons, and servers after dwarf planets. The `fileSystems` configurations include helper functions for easily configuring mounts for internal storage, Synology, and samba drives. + +### `templates/` + +This defines flake-based development environment templates for projects written in different programming languages, such as Elm and Haskell. This setup also makes use of `devshells` and is designed for developers who want to quickly bootstrap projects with a complete development environment using Nix for reproducibility and dependency management. + +### `flake.nix` + +This defines the core of the NixOS configuration using helper functions from `lib/`, which is organized as a flake-parts-based structure for better modularity: + +1. `inputs`: Declares all external dependencies including, such as core Nix components (`nixpkgs`, `flake-parts`, `systems`) and user environment components (`home-manager`, `sops-nix`). +2. `outputs`: Uses flake-parts to organize system configurations for multiple machines (`mars`, `venus`, `deimos`, `charon`, and `ceres`) and shared modules (`core`, `mantle`, `crust`) imported across systems. + +Each system imports specialized modules and user profiles based on its intended purpose and users, creating a flexible but consistent configuration framework across multiple machines. From 1b0e09b029dda36d89797da509bc056be5cca8a0 Mon Sep 17 00:00:00 2001 From: Nick Date: Sat, 1 Mar 2025 16:00:09 -0600 Subject: [PATCH 14/14] feat: added readme --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 7d0de99..81b5dae 100755 --- a/README.md +++ b/README.md @@ -1,13 +1,9 @@ # My NixOS Dotfiles ---- - This is my current multi-system NixOS configuration. ## File Structure ---- - ### `lib/` This defines two helper functions that make it easier to create configurations in the `flake`: