diff --git a/Droidnix/README.org b/Droidnix/README.org index 26b848286..21b9fa39d 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -59,6 +59,50 @@ The =generated/= directory contains all generated configurations, divided into t The =.assets/= folder contains all static files, such as configs, scripts, and themes. These files are not generated and can be edited directly. +* Templates look like this :code: +** =generated/template.nix= +#+BEGIN_SRC nix :tangle generated/template.nix :noweb tangle :mkdirp yes :eval never-html +{ lib, config, pkgs, inputs, ... }: + +let + # Default username fallback + username = config.defaultUser or "henrov"; + + # Asset folder for configs + assetPath = ../../../assets//conf; + + # Main configuration file + mainConfig = "${assetPath}/"; + + # Determine the package: prefer Nixpkgs, fallback to -git, fallback to flake input + myPkg = + pkgs. or + pkgs.-git or + inputs..packages.${pkgs.system}.default; +in +{ + # Install system-wide + environment.systemPackages = [ myPkg ]; + + # Home Manager user settings + _module.args.hmUsers = { + ${username} = { + home.packages = [ myPkg ]; + + # Copy main config into user's home + home.file.".config//".source = mainConfig; + + # Optional module-specific settings + settings.general = { + # Example placeholder + "example.setting" = "value"; + }; + + # Optional: you can add more files dynamically from assetPath if needed + }; + }; +} +#+END_SRC * The Actual Code :code: :PROPERTIES: @@ -66,7 +110,6 @@ The =.assets/= folder contains all static files, such as configs, scripts, and t :END: This section contains the Org blocks for tangling Nix code into the generated folders. - ** =flake.nix= The Nix flake definition for Droidnix. #+BEGIN_SRC nix :tangle flake.nix :noweb tangle :mkdirp yes :eval never-html @@ -119,47 +162,123 @@ The Nix flake definition for Droidnix. } #+END_SRC -** -generated/template.nix -#+BEGIN_SRC nix :tangle generated/template.nix :noweb tangle :mkdirp yes :eval never-html +** =generated/hosts/traveldroid/traveldroid.nix= +#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/traveldroid.nix :noweb tangle :mkdirp yes :eval never-html { lib, config, pkgs, inputs, ... }: let - # Default username fallback username = config.defaultUser or "henrov"; + modulesPath = ./generated/modules; - # Asset folder for configs - assetPath = ../../../assets//conf; + # Import all modules recursively + importedModules = inputs.import-tree modulesPath; - # Main configuration file - mainConfig = "${assetPath}/"; + # Evaluate all modules + evaluatedModules = + map (m: + if builtins.isFunction m then m { inherit lib config pkgs; } else m + ) importedModules.imports; - # Determine the package: prefer Nixpkgs, fallback to -git, fallback to flake input - myPkg = - pkgs. or - pkgs.-git or - inputs..packages.${pkgs.system}.default; -in + # Attach names + modulesWithNames = + map (m: { + name = if m ? _file then lib.removeSuffix ".nix" (builtins.baseNameOf m._file) else "unknown"; + value = m; + }) evaluatedModules; + + # Filter enabled modules from config file (optional) + moduleSwitches = import ../../../assets/system/conf/modules.conf; + enabledModules = + builtins.filter (m: moduleSwitches.${m.name} or false) modulesWithNames; + + # Collect Home Manager user attrsets + hmUsersList = map (m: m.value._module.args.hmUsers or {}) enabledModules; + +in { + networking.hostName = "traveldroid"; + system.stateVersion = "26.05"; + + imports = [ + ./boot.nix + ./hardware-configuration.nix + ]; + + # Merge Home Manager user configurations + home-manager.users = lib.mkMerge hmUsersList; +} +#+END_SRC + +** =generated/hosts/traveldroid/hardware-configuration.nix= +1. Boot into NixOS Live ISO or your installed system. +2. Open a terminal. +3. Run: sudo nixos-generate-config --root /mnt (Omit --root /mnt if already running NixOS.) +#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/hardware-configuration.nix :noweb tangle :mkdirp yes :eval never-html { - # Install system-wide - environment.systemPackages = [ myPkg ]; + hostname, + pkgs, + lib, + modulesPath, + user, + config, + ... +}: +{ + imports = [ + # (modulesPath + "/installer/scan/not-detected.nix") + #../../hardware/hardware.nix + ]; - # Home Manager user settings - _module.args.hmUsers = { - ${username} = { - home.packages = [ myPkg ]; + boot.initrd.availableKernelModules = [ + "xhci_pci" + "nvme" + "usb_storage" + "sd_mod" + "rtsx_usb_sdmmc" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; - # Copy main config into user's home - home.file.".config//".source = mainConfig; - - # Optional module-specific settings - settings.general = { - # Example placeholder - "example.setting" = "value"; - }; - - # Optional: you can add more files dynamically from assetPath if needed - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/69433a14-fbaf-401b-af85-cd1bbf02b4e2"; + fsType = "ext4"; }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/811D-0676"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/b6c557c2-7682-460b-a5e7-8f6f2f429a3a"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} +#+END_SRC + +** =generated/hosts/traveldroid/boot.nix= +#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/boot.nix :noweb tangle :mkdirp yes :eval never-html +{ inputs, config, lib, pkgs, ... }: +{ + + boot.loader.grub = { + enable = true; + efiSupport = true; + device = "nodev"; + useOSProber = true; + }; + #boot.efi.canTouchEfiVariables = true; + + boot.kernelParams = [ + "systemd.mask=dev-tpm0.device" + "systemd.mask=dev-tpmrm0.device" + ]; } #+END_SRC @@ -335,126 +454,10 @@ in } #+END_SRC -** =generated/hosts/traveldroid/boot.nix= -#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/boot.nix :noweb tangle :mkdirp yes :eval never-html -{ inputs, config, lib, pkgs, ... }: -{ - boot.loader.grub = { - enable = true; - efiSupport = true; - device = "nodev"; - useOSProber = true; - }; - #boot.efi.canTouchEfiVariables = true; - - boot.kernelParams = [ - "systemd.mask=dev-tpm0.device" - "systemd.mask=dev-tpmrm0.device" - ]; -} -#+END_SRC * First the nix-files that flake really needs and that do not fit wel in the hierarchical structure -** =generated/hosts/traveldroid/traveldroid.nix= -#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/traveldroid.nix :noweb tangle :mkdirp yes :eval never-html -{ lib, config, pkgs, inputs, ... }: -let - username = config.defaultUser or "henrov"; - modulesPath = ./generated/modules; - - # Import all modules recursively - importedModules = inputs.import-tree modulesPath; - - # Evaluate all modules - evaluatedModules = - map (m: - if builtins.isFunction m then m { inherit lib config pkgs; } else m - ) importedModules.imports; - - # Attach names - modulesWithNames = - map (m: { - name = if m ? _file then lib.removeSuffix ".nix" (builtins.baseNameOf m._file) else "unknown"; - value = m; - }) evaluatedModules; - - # Filter enabled modules from config file (optional) - moduleSwitches = import ../../../assets/system/conf/modules.conf; - enabledModules = - builtins.filter (m: moduleSwitches.${m.name} or false) modulesWithNames; - - # Collect Home Manager user attrsets - hmUsersList = map (m: m.value._module.args.hmUsers or {}) enabledModules; - -in { - networking.hostName = "traveldroid"; - system.stateVersion = "26.05"; - - imports = [ - ./boot.nix - ./hardware-configuration.nix - ]; - - # Merge Home Manager user configurations - home-manager.users = lib.mkMerge hmUsersList; -} -#+END_SRC - -** =generated/hosts/traveldroid/hardware-configuration.nix= -1. Boot into NixOS Live ISO or your installed system. -2. Open a terminal. -3. Run: sudo nixos-generate-config --root /mnt (Omit --root /mnt if already running NixOS.) -#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/hardware-configuration.nix :noweb tangle :mkdirp yes :eval never-html -{ - hostname, - pkgs, - lib, - modulesPath, - user, - config, - ... -}: -{ - imports = [ - # (modulesPath + "/installer/scan/not-detected.nix") - #../../hardware/hardware.nix - ]; - - boot.initrd.availableKernelModules = [ - "xhci_pci" - "nvme" - "usb_storage" - "sd_mod" - "rtsx_usb_sdmmc" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/69433a14-fbaf-401b-af85-cd1bbf02b4e2"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/811D-0676"; - fsType = "vfat"; - options = [ - "fmask=0077" - "dmask=0077" - ]; - }; - - swapDevices = [ - { device = "/dev/disk/by-uuid/b6c557c2-7682-460b-a5e7-8f6f2f429a3a"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} -#+END_SRC ** =generated/parked/system/dbus.nix= This sets the dbus implementation @@ -566,9 +569,6 @@ let src = "${assetPath}/${name}"; }); - # Top-level toggle for this module - enableProgram = config.enableStylix or false; - # Read the main stylix.conf stylixConfFile = "${assetPath}/stylix.conf"; stylixConf = if builtins.pathExists stylixConfFile @@ -581,8 +581,6 @@ let in { - # --- Top-level toggle --- - options.enableStylix = lib.mkEnableOption "Enable Stylix system theming"; # --- Only apply configuration if enabled --- config = lib.mkIf enableProgram { diff --git a/Droidnix/assets/copy_2_home/Thunar/accels.scm b/Droidnix/assets/copy_2_home/Thunar/accels.scm new file mode 100644 index 000000000..e071e5b32 --- /dev/null +++ b/Droidnix/assets/copy_2_home/Thunar/accels.scm @@ -0,0 +1,128 @@ +; thunar GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/ThunarBookmarks/8b0840406a9db6cc9e024618b73ff74d" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-type" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-last-modified" "") +; (gtk_accel_path "/Thunarwindow/menu" "") +; (gtk_accel_path "/ThunarActionManager/cut" "x") +; (gtk_accel_path "/ThunarStandardView/sort-by-size" "") +; (gtk_accel_path "/ThunarWindow/file-menu" "") +; (gtk_accel_path "/ThunarWindow/close-tab" "w") +; (gtk_accel_path "/ThunarWindow/switch-previous-tab-alt" "ISO_Left_Tab") +; (gtk_accel_path "/ThunarStatusBar/toggle-size" "") +; (gtk_accel_path "/ThunarWindow/new-window" "n") +; (gtk_accel_path "/ThunarWindow/clear-directory-specific-settings" "") +; (gtk_accel_path "/ThunarWindow/close-window" "q") +; (gtk_accel_path "/ThunarWindow/open-parent" "Up") +; (gtk_accel_path "/ThunarWindow/view-side-pane-menu" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-size-in-bytes" "") +; (gtk_accel_path "/ThunarWindow/switch-previous-tab" "Page_Up") +; (gtk_accel_path "/ThunarActionManager/open" "o") +; (gtk_accel_path "/ThunarStandardView/sort-ascending" "") +; (gtk_accel_path "/ThunarWindow/toggle-split-view" "F3") +; (gtk_accel_path "/ThunarActionManager/copy-2" "Insert") +; (gtk_accel_path "/ThunarActionManager/trash-delete" "Delete") +; (gtk_accel_path "/ThunarWindow/open-recent" "") +; (gtk_accel_path "/ThunarWindow/view-configure-toolbar" "") +; (gtk_accel_path "/ThunarStandardView/forward" "Right") +; (gtk_accel_path "/ThunarActionManager/restore" "") +; (gtk_accel_path "/ThunarWindow/open-location-alt" "d") +; (gtk_accel_path "/ThunarWindow/zoom-out-alt" "KP_Subtract") +; (gtk_accel_path "/ThunarStandardView/select-by-pattern" "s") +; (gtk_accel_path "/ThunarWindow/open-file-menu" "F10") +; (gtk_accel_path "/ThunarWindow/contents" "F1") +; (gtk_accel_path "/ThunarWindow/show-highlight" "") +; (gtk_accel_path "/ThunarStandardView/sort-descending" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-name" "") +; (gtk_accel_path "/ThunarBookmarks/b642744ba505349eb43f3232902f4a96" "") +; (gtk_accel_path "/ThunarStandardView/select-all-files" "a") +; (gtk_accel_path "/ThunarActionManager/execute" "") +; (gtk_accel_path "/ThunarStandardView/properties" "Return") +; (gtk_accel_path "/ThunarActionManager/cut-2" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-dtime" "") +; (gtk_accel_path "/ThunarWindow/switch-next-tab" "Page_Down") +; (gtk_accel_path "/ThunarWindow/open-templates" "") +; (gtk_accel_path "/ThunarActionManager/paste-2" "Insert") +; (gtk_accel_path "/ThunarStatusBar/toggle-filetype" "") +; (gtk_accel_path "/ThunarWindow/close-all-windows" "w") +; (gtk_accel_path "/ThunarStandardView/create-document" "") +; (gtk_accel_path "/ThunarWindow/detach-tab" "") +; (gtk_accel_path "/ThunarWindow/cancel-search" "Escape") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt2" "equal") +; (gtk_accel_path "/ThunarStatusBar/toggle-hidden-count" "") +; (gtk_accel_path "/ThunarShortcutsPane/sendto-shortcuts" "d") +; (gtk_accel_path "/ThunarActionManager/undo" "z") +; (gtk_accel_path "/ThunarBookmarks/f08c8da7eedf52bf1705513340708bed" "") +; (gtk_accel_path "/ThunarStandardView/toggle-sort-order" "") +; (gtk_accel_path "/ThunarWindow/view-location-selector-entry" "") +; (gtk_accel_path "/ThunarActionManager/paste" "v") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt1" "KP_Add") +; (gtk_accel_path "/ThunarWindow/view-menubar" "m") +; (gtk_accel_path "/ThunarStandardView/back" "Left") +; (gtk_accel_path "/ThunarWindow/open-desktop" "") +; (gtk_accel_path "/ThunarWindow/view-as-detailed-list" "2") +; (gtk_accel_path "/ThunarActionManager/restore-show" "") +; (gtk_accel_path "/ThunarWindow/sendto-menu" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-display-name" "") +; (gtk_accel_path "/ThunarWindow/go-menu" "") +; (gtk_accel_path "/ThunarWindow/zoom-out" "minus") +; (gtk_accel_path "/ThunarWindow/remove-from-recent" "") +; (gtk_accel_path "/ThunarActionManager/open-with-other" "") +; (gtk_accel_path "/ThunarStandardView/invert-selection" "i") +; (gtk_accel_path "/ThunarWindow/view-side-pane-shortcuts" "b") +; (gtk_accel_path "/ThunarWindow/reload-alt-2" "Reload") +; (gtk_accel_path "/ThunarWindow/view-location-selector-menu" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-mtime" "") +; (gtk_accel_path "/ThunarWindow/edit-menu" "") +; (gtk_accel_path "/ThunarActionManager/copy" "c") +; (gtk_accel_path "/ThunarWindow/bookmarks-menu" "") +; (gtk_accel_path "/ThunarStandardView/forward-alt" "Forward") +; (gtk_accel_path "/ThunarActionManager/move-to-trash" "") +; (gtk_accel_path "/ThunarWindow/reload-alt-1" "F5") +; (gtk_accel_path "/ThunarActionManager/delete-3" "KP_Delete") +; (gtk_accel_path "/ThunarWindow/reload" "r") +; (gtk_accel_path "/ThunarStandardView/arrange-items-menu" "") +; (gtk_accel_path "/ThunarStandardView/unselect-all-files" "Escape") +; (gtk_accel_path "/ThunarWindow/open-computer" "") +; (gtk_accel_path "/ThunarWindow/toggle-image-preview" "") +; (gtk_accel_path "/ThunarWindow/toggle-side-pane" "F9") +; (gtk_accel_path "/ThunarWindow/view-as-icons" "1") +; (gtk_accel_path "/ThunarActionManager/delete-2" "Delete") +; (gtk_accel_path "/ThunarWindow/zoom-in" "plus") +; (gtk_accel_path "/ThunarStandardView/rename" "F2") +; (gtk_accel_path "/ThunarWindow/open-location" "l") +; (gtk_accel_path "/ThunarWindow/view-as-compact-list" "3") +; (gtk_accel_path "/ThunarWindow/view-menu" "") +; (gtk_accel_path "/ThunarWindow/search" "f") +; (gtk_accel_path "/ThunarWindow/new-tab" "t") +; (gtk_accel_path "/ThunarWindow/zoom-reset" "0") +; (gtk_accel_path "/ThunarWindow/contents/help-menu" "") +; (gtk_accel_path "/ThunarActionManager/open-in-new-tab" "p") +; (gtk_accel_path "/ThunarWindow/view-location-selector-buttons" "") +; (gtk_accel_path "/ThunarStandardView/back-alt2" "Back") +; (gtk_accel_path "/ThunarActionManager/redo" "z") +; (gtk_accel_path "/ThunarWindow/open-trash" "") +; (gtk_accel_path "/ThunarActionManager/open-in-new-window" "o") +; (gtk_accel_path "/ThunarWindow/view-statusbar" "") +; (gtk_accel_path "/ThunarActionManager/open-location" "") +; (gtk_accel_path "/ThunarStandardView/duplicate" "") +; (gtk_accel_path "/ThunarActionManager/trash-delete-2" "KP_Delete") +; (gtk_accel_path "/ThunarStandardView/back-alt1" "BackSpace") +; (gtk_accel_path "/ThunarStandardView/create-folder" "n") +; (gtk_accel_path "/ThunarWindow/open-home" "Home") +; (gtk_accel_path "/ThunarWindow/switch-focused-split-view-pane" "") +; (gtk_accel_path "/ThunarWindow/show-hidden" "h") +; (gtk_accel_path "/ThunarStandardView/set-default-app" "") +; (gtk_accel_path "/ThunarWindow/empty-trash" "") +; (gtk_accel_path "/ThunarWindow/preferences" "") +; (gtk_accel_path "/ThunarActionManager/delete" "") +; (gtk_accel_path "/ThunarWindow/open-network" "") +; (gtk_accel_path "/ThunarWindow/view-side-pane-tree" "e") +; (gtk_accel_path "/ThunarWindow/open-file-system" "") +; (gtk_accel_path "/ThunarWindow/search-alt" "Search") +; (gtk_accel_path "/ThunarWindow/switch-next-tab-alt" "Tab") +; (gtk_accel_path "/ThunarActionManager/sendto-desktop" "") +; (gtk_accel_path "/ThunarStandardView/make-link" "") +; (gtk_accel_path "/ThunarWindow/zoom-reset-alt" "KP_0") +; (gtk_accel_path "/ThunarWindow/about" "") diff --git a/Droidnix/assets/copy_2_home/Thunar/uca.xml b/Droidnix/assets/copy_2_home/Thunar/uca.xml new file mode 100644 index 000000000..009dea6da --- /dev/null +++ b/Droidnix/assets/copy_2_home/Thunar/uca.xml @@ -0,0 +1,15 @@ + + + + utilities-terminal + Open Terminal Here + + 1773690548549124-1 + exo-open --working-directory %f --launch TerminalEmulator + Example for a custom action + + * + + + + diff --git a/Droidnix/assets/copy_2_home/hypr/animations.conf b/Droidnix/assets/copy_2_home/hypr/animations.conf new file mode 120000 index 000000000..cca371b08 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/animations.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/animations.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/behaviour.conf b/Droidnix/assets/copy_2_home/hypr/behaviour.conf new file mode 120000 index 000000000..52643e564 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/behaviour.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/behaviour.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/bindings.conf b/Droidnix/assets/copy_2_home/hypr/bindings.conf new file mode 120000 index 000000000..01815dac8 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/bindings.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/bindings.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/exec-once.conf b/Droidnix/assets/copy_2_home/hypr/exec-once.conf new file mode 120000 index 000000000..896380c22 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/exec-once.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/exec-once.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/hypridle.conf b/Droidnix/assets/copy_2_home/hypr/hypridle.conf new file mode 120000 index 000000000..3a12ae717 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/hypridle.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/hypridle.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/hyprland.conf b/Droidnix/assets/copy_2_home/hypr/hyprland.conf new file mode 120000 index 000000000..40f67fcf3 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/hyprland.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/hyprland.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/hyprlock.conf b/Droidnix/assets/copy_2_home/hypr/hyprlock.conf new file mode 120000 index 000000000..3306196f9 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/hyprlock.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/hyprlock.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/layer-rules.conf b/Droidnix/assets/copy_2_home/hypr/layer-rules.conf new file mode 120000 index 000000000..ab898e45d --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/layer-rules.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/layer-rules.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/layout.conf b/Droidnix/assets/copy_2_home/hypr/layout.conf new file mode 120000 index 000000000..1ca4e6887 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/layout.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/layout.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/monitor-rules.conf b/Droidnix/assets/copy_2_home/hypr/monitor-rules.conf new file mode 120000 index 000000000..8bdab6a39 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/monitor-rules.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/monitor-rules.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/theming.conf b/Droidnix/assets/copy_2_home/hypr/theming.conf new file mode 120000 index 000000000..99285a44e --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/theming.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/theming.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/window-rules.conf b/Droidnix/assets/copy_2_home/hypr/window-rules.conf new file mode 120000 index 000000000..33955a2be --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/window-rules.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/window-rules.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/hypr/workspace-rules.conf b/Droidnix/assets/copy_2_home/hypr/workspace-rules.conf new file mode 120000 index 000000000..a4bb72784 --- /dev/null +++ b/Droidnix/assets/copy_2_home/hypr/workspace-rules.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/hypr/workspace-rules.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/kitty/Catppuccin-Mocha.conf b/Droidnix/assets/copy_2_home/kitty/Catppuccin-Mocha.conf new file mode 120000 index 000000000..e88f25555 --- /dev/null +++ b/Droidnix/assets/copy_2_home/kitty/Catppuccin-Mocha.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/kitty/Catppuccin-Mocha.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/kitty/kitty.conf b/Droidnix/assets/copy_2_home/kitty/kitty.conf new file mode 120000 index 000000000..a497e9694 --- /dev/null +++ b/Droidnix/assets/copy_2_home/kitty/kitty.conf @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/kitty/kitty.conf \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/starship.toml b/Droidnix/assets/copy_2_home/starship.toml new file mode 100644 index 000000000..ba9bd82ab --- /dev/null +++ b/Droidnix/assets/copy_2_home/starship.toml @@ -0,0 +1,279 @@ +"$schema" = 'https://starship.rs/config-schema.json' + +format = """ +[](red)\ +$os\ +$username\ +[](bg:peach fg:red)\ +$directory\ +[](bg:yellow fg:peach)\ +$git_branch\ +$git_status\ +[](fg:yellow bg:green)\ +$c\ +$rust\ +$golang\ +$nodejs\ +$php\ +$java\ +$kotlin\ +$haskell\ +$python\ +[](fg:green bg:sapphire)\ +$conda\ +[](fg:sapphire bg:lavender)\ +$time\ +[ ](fg:lavender)\ +$cmd_duration\ +$line_break\ +$character""" + +palette = 'catppuccin_mocha' + +[os] +disabled = false +style = "bg:red fg:crust" + +[os.symbols] +Windows = "" +Ubuntu = "󰕈" +SUSE = "" +Raspbian = "󰐿" +Mint = "󰣭" +Macos = "󰀵" +Manjaro = "" +Linux = "󰌽" +Gentoo = "󰣨" +Fedora = "󰣛" +Alpine = "" +Amazon = "" +Android = "" +AOSC = "" +Arch = "󰣇" +Artix = "󰣇" +CentOS = "" +Debian = "󰣚" +Redhat = "󱄛" +RedHatEnterprise = "󱄛" + +[username] +show_always = true +style_user = "bg:red fg:crust" +style_root = "bg:red fg:crust" +format = '[ $user]($style)' + +[directory] +style = "bg:peach fg:crust" +format = "[ $path ]($style)" +truncation_length = 3 +truncation_symbol = "…/" + +[directory.substitutions] +"Documents" = "󰈙 " +"Downloads" = " " +"Music" = "󰝚 " +"Pictures" = " " +"Developer" = "󰲋 " + +[git_branch] +symbol = "" +style = "bg:yellow" +format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)' + +[git_status] +style = "bg:yellow" +format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)' + +[nodejs] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[c] +symbol = " " +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[rust] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[golang] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[php] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[java] +symbol = " " +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[kotlin] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[haskell] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)' + +[python] +symbol = "" +style = "bg:green" +format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)' + +[docker_context] +symbol = "" +style = "bg:sapphire" +format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)' + +[conda] +symbol = "  " +style = "fg:crust bg:sapphire" +format = '[$symbol$environment ]($style)' +ignore_base = false + +[time] +disabled = false +time_format = "%R" +style = "bg:lavender" +format = '[[  $time ](fg:crust bg:lavender)]($style)' + +[line_break] +disabled = false + +[character] +disabled = false +success_symbol = '[❯](bold fg:green)' +error_symbol = '[❯](bold fg:red)' +vimcmd_symbol = '[❮](bold fg:green)' +vimcmd_replace_one_symbol = '[❮](bold fg:lavender)' +vimcmd_replace_symbol = '[❮](bold fg:lavender)' +vimcmd_visual_symbol = '[❮](bold fg:yellow)' + +[cmd_duration] +show_milliseconds = true +format = " in $duration " +style = "bg:lavender" +disabled = false +show_notifications = true +min_time_to_notify = 45000 + +[palettes.catppuccin_mocha] +rosewater = "#f5e0dc" +flamingo = "#f2cdcd" +pink = "#f5c2e7" +mauve = "#cba6f7" +red = "#f38ba8" +maroon = "#eba0ac" +peach = "#fab387" +yellow = "#f9e2af" +green = "#a6e3a1" +teal = "#94e2d5" +sky = "#89dceb" +sapphire = "#74c7ec" +blue = "#89b4fa" +lavender = "#b4befe" +text = "#cdd6f4" +subtext1 = "#bac2de" +subtext0 = "#a6adc8" +overlay2 = "#9399b2" +overlay1 = "#7f849c" +overlay0 = "#6c7086" +surface2 = "#585b70" +surface1 = "#45475a" +surface0 = "#313244" +base = "#1e1e2e" +mantle = "#181825" +crust = "#11111b" + +[palettes.catppuccin_frappe] +rosewater = "#f2d5cf" +flamingo = "#eebebe" +pink = "#f4b8e4" +mauve = "#ca9ee6" +red = "#e78284" +maroon = "#ea999c" +peach = "#ef9f76" +yellow = "#e5c890" +green = "#a6d189" +teal = "#81c8be" +sky = "#99d1db" +sapphire = "#85c1dc" +blue = "#8caaee" +lavender = "#babbf1" +text = "#c6d0f5" +subtext1 = "#b5bfe2" +subtext0 = "#a5adce" +overlay2 = "#949cbb" +overlay1 = "#838ba7" +overlay0 = "#737994" +surface2 = "#626880" +surface1 = "#51576d" +surface0 = "#414559" +base = "#303446" +mantle = "#292c3c" +crust = "#232634" + +[palettes.catppuccin_latte] +rosewater = "#dc8a78" +flamingo = "#dd7878" +pink = "#ea76cb" +mauve = "#8839ef" +red = "#d20f39" +maroon = "#e64553" +peach = "#fe640b" +yellow = "#df8e1d" +green = "#40a02b" +teal = "#179299" +sky = "#04a5e5" +sapphire = "#209fb5" +blue = "#1e66f5" +lavender = "#7287fd" +text = "#4c4f69" +subtext1 = "#5c5f77" +subtext0 = "#6c6f85" +overlay2 = "#7c7f93" +overlay1 = "#8c8fa1" +overlay0 = "#9ca0b0" +surface2 = "#acb0be" +surface1 = "#bcc0cc" +surface0 = "#ccd0da" +base = "#eff1f5" +mantle = "#e6e9ef" +crust = "#dce0e8" + +[palettes.catppuccin_macchiato] +rosewater = "#f4dbd6" +flamingo = "#f0c6c6" +pink = "#f5bde6" +mauve = "#c6a0f6" +red = "#ed8796" +maroon = "#ee99a0" +peach = "#f5a97f" +yellow = "#eed49f" +green = "#a6da95" +teal = "#8bd5ca" +sky = "#91d7e3" +sapphire = "#7dc4e4" +blue = "#8aadf4" +lavender = "#b7bdf8" +text = "#cad3f5" +subtext1 = "#b8c0e0" +subtext0 = "#a5adcb" +overlay2 = "#939ab7" +overlay1 = "#8087a2" +overlay0 = "#6e738d" +surface2 = "#5b6078" +surface1 = "#494d64" +surface0 = "#363a4f" +base = "#24273a" +mantle = "#1e2030" +crust = "#181926" diff --git a/Droidnix/assets/copy_2_home/stylix/palette.html b/Droidnix/assets/copy_2_home/stylix/palette.html new file mode 120000 index 000000000..6941a3037 --- /dev/null +++ b/Droidnix/assets/copy_2_home/stylix/palette.html @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/stylix/palette.html \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/stylix/palette.json b/Droidnix/assets/copy_2_home/stylix/palette.json new file mode 120000 index 000000000..263d27df9 --- /dev/null +++ b/Droidnix/assets/copy_2_home/stylix/palette.json @@ -0,0 +1 @@ +/nix/store/aavn5w35bw494vfycdw46d5pg14nf5g4-home-manager-files/.config/stylix/palette.json \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/walker/config.toml b/Droidnix/assets/copy_2_home/walker/config.toml new file mode 100644 index 000000000..366317aec --- /dev/null +++ b/Droidnix/assets/copy_2_home/walker/config.toml @@ -0,0 +1,116 @@ +# Walker UI layout/theme config (Catppuccin Mocha tuned) + +theme = "frosted" +debug = true + +[ui] +css = "home/henrov/themes/frosted/walker.css" + +[ui.anchors] +top = true +left = true +right = true +bottom = false # don't stretch to full height; keeps it as a panel + +[ui.window] +h_align = "fill" +v_align = "fill" + +[ui.window.box] +h_align = "center" +# Single source of truth for the main content width +width = 520 + +[ui.window.box.margins] +top = 140 + +[ui.window.box.bar] +orientation = "horizontal" +position = "end" + +[ui.window.box.bar.entry] +h_align = "fill" +h_expand = true + +[ui.window.box.bar.entry.icon] +h_align = "center" +h_expand = false +pixel_size = 22 +theme = "" # leave empty to inherit your system icon theme (Papirus etc.) + +# --- AI scroll area (match main width, reduce hardcoding) --- +[ui.window.box.ai_scroll] +name = "aiScroll" +h_align = "fill" +v_align = "fill" +min_width = 520 +width = 520 +max_height = 260 +height = 260 + +[ui.window.box.ai_scroll.margins] +top = 10 + +[ui.window.box.ai_scroll.list] +name = "aiList" +orientation = "vertical" +width = 520 +spacing = 10 + +[ui.window.box.ai_scroll.list.item] +name = "aiItem" +h_align = "fill" +v_align = "fill" +x_align = 0 +y_align = 0 +wrap = true + +# --- Main results list --- +[ui.window.box.scroll.list] +# Catppuccin Mocha accent (pick one): +# - teal: #94e2d5 +# - blue: #89b4fa +marker_color = "#89b4fa" +max_height = 360 +min_width = 520 +max_width = 520 +width = 520 + +[ui.window.box.scroll.list.margins] +top = 10 + +[ui.window.box.scroll.list.item.activation_label] +h_align = "fill" +v_align = "fill" +width = 22 +x_align = 0.5 +y_align = 0.5 + +[ui.window.box.scroll.list.item.icon] +pixel_size = 24 +theme = "" # inherit system icon theme + +# --- Search row (icons + input) --- +[ui.window.box.search.prompt] +name = "prompt" +icon = "edit-find" +theme = "" +pixel_size = 18 +h_align = "center" +v_align = "center" + +[ui.window.box.search.clear] +name = "clear" +icon = "edit-clear" +theme = "" +pixel_size = 18 +h_align = "center" +v_align = "center" + +[ui.window.box.search.input] +h_align = "fill" +h_expand = true +icons = true + +[ui.window.box.search.spinner] +hide = true diff --git a/Droidnix/assets/copy_2_home/walker/themes/frosted/default.css b/Droidnix/assets/copy_2_home/walker/themes/frosted/default.css new file mode 100644 index 000000000..239449398 --- /dev/null +++ b/Droidnix/assets/copy_2_home/walker/themes/frosted/default.css @@ -0,0 +1,162 @@ +/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */ + +@define-color foreground rgba(255, 255, 255, 0.8); +@define-color background hsla(240, 12.7%, 13.9%, 0.98); +@define-color color1 hsl(172, 100%, 25.3%); +/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */ + +#window, +#box, +#aiScroll, +#aiList, +#search, +#password, +#input, +#prompt, +#clear, +#typeahead, +#list, +child, +scrollbar, +slider, +#item, +#text, +#label, +#bar, +#sub, +#activationlabel { + all: unset; +} + +#cfgerr { + background: rgba(255, 0, 0, 0.4); + margin-top: 20px; + padding: 8px; + font-size: 1.2em; +} + +#window { + color: @foreground; +} + +#box { + border-radius: 2px; + background: @background; + padding: 32px; + border: 1px solid lighter(@background); + box-shadow: + 0 19px 38px rgba(0, 0, 0, 0.3), + 0 15px 12px rgba(0, 0, 0, 0.22); +} + +#search { + box-shadow: + 0 1px 3px rgba(0, 0, 0, 0.1), + 0 1px 2px rgba(0, 0, 0, 0.22); + background: lighter(@background); + padding: 8px; +} + +#prompt { + margin-left: 4px; + margin-right: 12px; + color: @foreground; + opacity: 0.2; +} + +#clear { + color: @foreground; + opacity: 0.8; +} + +#password, +#input, +#typeahead { + border-radius: 2px; +} + +#input { + background: none; +} + +#password { +} + +#spinner { + padding: 8px; +} + +#typeahead { + color: @foreground; + opacity: 0.8; +} + +#input placeholder { + opacity: 0.5; +} + +#list { +} + +child { + padding: 8px; + border-radius: 2px; +} + +child:selected, +child:hover { + background: alpha(@color1, 0.4); +} + +#item { +} + +#icon { + margin-right: 8px; +} + +#text { +} + +#label { + font-weight: 500; +} + +#sub { + opacity: 0.5; + font-size: 0.8em; +} + +#activationlabel { +} + +#bar { +} + +.barentry { +} + +.activation #activationlabel { +} + +.activation #text, +.activation #icon, +.activation #search { + opacity: 0.5; +} + +.aiItem { + padding: 10px; + border-radius: 2px; + color: @foreground; + background: @background; +} + +.aiItem.user { + padding-left: 0; + padding-right: 0; +} + +.aiItem.assistant { + background: lighter(@background); +} diff --git a/Droidnix/assets/copy_2_home/walker/themes/frosted/style.css b/Droidnix/assets/copy_2_home/walker/themes/frosted/style.css new file mode 100644 index 000000000..dadd5a994 --- /dev/null +++ b/Droidnix/assets/copy_2_home/walker/themes/frosted/style.css @@ -0,0 +1,185 @@ +/* Catppuccin Mocha Walker Theme — Frosted Glass */ + +@import "default.css"; + +/* --- Palette --- */ +/* glass layers: low alpha + slightly cool tint */ +@define-color base rgba(220, 230, 255, 0.15); +@define-color mantle rgba(24, 24, 37, 0.55); /* was opaque */ +@define-color crust rgba(17, 17, 27, 0.80); + +@define-color text #cdd6f4; +@define-color subtext0 #a6adc8; +@define-color subtext1 #bac2de; + +/* use these as “edge lights” more than solid fills */ +@define-color surface0 rgba(49, 50, 68, 0.35); +@define-color surface1 rgba(69, 71, 90, 0.40); +@define-color surface2 rgba(88, 91, 112, 0.45); + +@define-color overlay0 rgba(108, 112, 134, 0.70); +@define-color overlay1 rgba(127, 132, 156, 0.85); +@define-color overlay2 rgba(147, 153, 178, 0.90); + +@define-color blue #89b4fa; +@define-color lavender #b4befe; +@define-color mauve #cba6f7; +@define-color green #a6e3a1; +@define-color red #f38ba8; +@define-color peach #fab387; +@define-color yellow #f9e2af; + +/* --- Walker expected tokens --- */ +@define-color foreground @text; + +/* very transparent base to let compositor blur show through */ +@define-color background: rgba(26, 26, 40, 0.75); + +/* selection tint */ +@define-color color1 @blue; + +/* --- Reset --- */ +#window, +#box, +#aiScroll, +#aiList, +#search, +#password, +#input, +#prompt, +#clear, +#typeahead, +#list, +child, +scrollbar, +slider, +#item, +#text, +#label, +#bar, +#sub, +#activationlabel { + all: unset; +} + +/* --- Error --- */ +#cfgerr { + background: alpha(@red, 0.35); + margin-top: 20px; + padding: 10px; + border-radius: 10px; + border: 1px solid alpha(@red, 0.3); + font-size: 1.1em; +} + +/* --- Window --- */ +#window { + color: @foreground; +} + +/* --- Main container (frosted glass card) --- */ +#box { + border-radius: 18px; + background: @background; + + border: 1px solid alpha(@text, 0.08); + + box-shadow: + inset 0 1px 0 alpha(@text, 0.04), + 0 8px 18px alpha(@crust, 0.4); + + padding: 28px; +} + +/* --- Search “pill” --- */ +#search { + background: rgba(49, 50, 68, 0.22); + padding: 10px 12px; + border-radius: 14px; + + border: 1px solid alpha(@text, 0.1); + box-shadow: + inset 0 1px 0 alpha(@text, 0.06), + 0 6px 16px alpha(@crust, 0.35); +} + +#prompt { + margin-left: 6px; + margin-right: 12px; + color: alpha(@overlay1, 0.9); +} + +#clear { + color: alpha(@overlay2, 0.9); +} + +/* --- Inputs --- */ +#password, +#input, +#typeahead { + border-radius: 10px; +} + +#input { + background: none; +} + +#typeahead { + color: alpha(@subtext1, 0.85); +} + +#input placeholder { + color: alpha(@overlay0, 0.75); +} + +/* --- List items --- */ +child { + padding: 10px 12px; + border-radius: 14px; + background: @background; + border: 1px solid alpha(@text, 0.05); +} + +/* Hover / Selection: brighter glass + tinted glow */ +child:selected, +child:hover { + background: rgba(22, 22, 34, 0.8); + border: 1px solid alpha(@text, 0.08); + + box-shadow: + inset 0 1px 0 alpha(@text, 0.05), + 0 6px 14px alpha(@crust, 0.35); +} + +/* --- Text --- */ +#label { + font-weight: 600; +} + +#sub { + color: alpha(@subtext0, 0.85); + font-size: 0.85em; +} + +/* --- Activation --- */ +.activation #text, +.activation #icon, +.activation #search { + opacity: 0.55; +} + +/* --- AI Panel --- */ +.aiItem { + padding: 12px; + border-radius: 14px; + color: @foreground; + + /* glass tile */ + background: rgba(24, 24, 37, 0.3); + border: 1px solid rgba(255, 255, 255, 0.05); + box-shadow: inset 0 1px 0 alpha(@text, 0.05); +} + +.aiItem.assistant { + background: rgba(49, 50, 68, 0.22); +} diff --git a/Droidnix/assets/copy_2_home/waybar/config b/Droidnix/assets/copy_2_home/waybar/config new file mode 120000 index 000000000..5f1f29471 --- /dev/null +++ b/Droidnix/assets/copy_2_home/waybar/config @@ -0,0 +1 @@ +/nix/store/5dnlin4x7n2y5k4zi4wavyy519s2yq6s-waybar-config \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/waybar/style.css b/Droidnix/assets/copy_2_home/waybar/style.css new file mode 120000 index 000000000..9d8f23808 --- /dev/null +++ b/Droidnix/assets/copy_2_home/waybar/style.css @@ -0,0 +1 @@ +/nix/store/32wq1s4gch0r44g105azxbbnklcm12ii-waybar-style \ No newline at end of file diff --git a/Droidnix/assets/copy_2_home/zed/settings.json b/Droidnix/assets/copy_2_home/zed/settings.json new file mode 100644 index 000000000..848ec9541 --- /dev/null +++ b/Droidnix/assets/copy_2_home/zed/settings.json @@ -0,0 +1,26 @@ +// Zed settings +// +// For information on how to configure Zed, see the Zed +// documentation: https://zed.dev/docs/configuring-zed +// +// To see all of Zed's default settings without changing your +// custom settings, run `zed: open default settings` from the +// command palette (cmd-shift-p / ctrl-shift-p) +{ + "agent": { + "default_model": { + "provider": "ollama", + "model": "codellama:34b", + "enable_thinking": false + }, + "favorite_models": [], + "model_parameters": [] + }, + "ui_font_size": 16, + "buffer_font_size": 15, + "theme": { + "mode": "dark", + "light": "One Light", + "dark": "Catppuccin Mocha", + }, +} diff --git a/Droidnix/generated/hosts/traveldroid/boot.nix b/Droidnix/generated/hosts/traveldroid/boot.nix deleted file mode 100644 index 5feadb525..000000000 --- a/Droidnix/generated/hosts/traveldroid/boot.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ inputs, config, lib, pkgs, ... }: -{ - - boot.loader.grub = { - enable = true; - efiSupport = true; - device = "nodev"; - useOSProber = true; - }; - #boot.efi.canTouchEfiVariables = true; - - boot.kernelParams = [ - "systemd.mask=dev-tpm0.device" - "systemd.mask=dev-tpmrm0.device" - ]; -} diff --git a/Droidnix/generated/hosts/traveldroid/hardware-configuration.nix b/Droidnix/generated/hosts/traveldroid/hardware-configuration.nix deleted file mode 100644 index 802b3df31..000000000 --- a/Droidnix/generated/hosts/traveldroid/hardware-configuration.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ - hostname, - pkgs, - lib, - modulesPath, - user, - config, - ... -}: -{ - imports = [ - # (modulesPath + "/installer/scan/not-detected.nix") - #../../hardware/hardware.nix - ]; - - boot.initrd.availableKernelModules = [ - "xhci_pci" - "nvme" - "usb_storage" - "sd_mod" - "rtsx_usb_sdmmc" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/69433a14-fbaf-401b-af85-cd1bbf02b4e2"; - fsType = "ext4"; - }; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/811D-0676"; - fsType = "vfat"; - options = [ - "fmask=0077" - "dmask=0077" - ]; - }; - - swapDevices = [ - { device = "/dev/disk/by-uuid/b6c557c2-7682-460b-a5e7-8f6f2f429a3a"; } - ]; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/Droidnix/generated/hosts/traveldroid/traveldroid.nix b/Droidnix/generated/hosts/traveldroid/traveldroid.nix deleted file mode 100644 index 26e1054e2..000000000 --- a/Droidnix/generated/hosts/traveldroid/traveldroid.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ lib, config, pkgs, inputs, ... }: - -let - username = config.defaultUser or "henrov"; - modulesPath = ./generated/modules; - - # Import all modules recursively - importedModules = inputs.import-tree modulesPath; - - # Evaluate all modules - evaluatedModules = - map (m: - if builtins.isFunction m then m { inherit lib config pkgs; } else m - ) importedModules.imports; - - # Attach names - modulesWithNames = - map (m: { - name = if m ? _file then lib.removeSuffix ".nix" (builtins.baseNameOf m._file) else "unknown"; - value = m; - }) evaluatedModules; - - # Filter enabled modules from config file (optional) - moduleSwitches = import ../../../assets/system/conf/modules.conf; - enabledModules = - builtins.filter (m: moduleSwitches.${m.name} or false) modulesWithNames; - - # Collect Home Manager user attrsets - hmUsersList = map (m: m.value._module.args.hmUsers or {}) enabledModules; - -in { - networking.hostName = "traveldroid"; - system.stateVersion = "26.05"; - - imports = [ - ./boot.nix - ./hardware-configuration.nix - ]; - - # Merge Home Manager user configurations - home-manager.users = lib.mkMerge hmUsersList; -} diff --git a/Droidnix/generated/modules/desktop/hyprland.nix b/Droidnix/generated/modules/desktop/hyprland.nix deleted file mode 100644 index d4329a857..000000000 --- a/Droidnix/generated/modules/desktop/hyprland.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ lib, config, pkgs, inputs, ... }: - -let - username = config.defaultUser or "henrov"; - - # Paths - assetPath = ../../../assets/hyprland/conf/hypr; - mainConfig = "${assetPath}/hyprland.conf"; - - # Determine Hyprland package with fallbacks - hyprlandPkg = - pkgs.hyprland or - pkgs.hyprland-git or - inputs.hyprland.packages.${pkgs.system}.default; - - # Map all files in the asset folder - hyprFiles = - builtins.listToAttrs ( - map (f: { - name = ".config/hypr/${f}"; - value = { source = "${assetPath}/${f}"; }; - }) (builtins.attrNames (builtins.readDir assetPath)) - ); -in -{ - # System-wide package - environment.systemPackages = [ hyprlandPkg ]; - - # Home Manager user settings - _module.args.hmUsers = { - ${username} = { - home.packages = [ hyprlandPkg ]; - - # Merge main config + all other files - home.file = lib.mkMerge [ - hyprFiles - { - ".config/hypr/hyprland.conf" = { source = mainConfig; }; - } - ]; - - # Optional module-specific settings - settings.general."col.active_border" = "0xff97cbcd 0xff89b4fa"; - }; - }; -} diff --git a/Droidnix/generated/modules/desktop/stylix.nix b/Droidnix/generated/modules/desktop/stylix.nix deleted file mode 100644 index b12e96d4e..000000000 --- a/Droidnix/generated/modules/desktop/stylix.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ lib, config, ... }: - -let - # --- Module variables --- - moduleName = "stylix"; - username = config.defaultUser or "henrov"; - - # Assets directory for Stylix config - assetPath = ../../../assets/system/conf/${moduleName}; - - # Read all config files - programFiles = builtins.readDir assetPath; - - files = lib.genAttrs (builtins.attrNames programFiles) (name: { - src = "${assetPath}/${name}"; - }); - - # Top-level toggle for this module - enableProgram = config.enableStylix or false; - - # Read the main stylix.conf - stylixConfFile = "${assetPath}/stylix.conf"; - stylixConf = if builtins.pathExists stylixConfFile - then builtins.readFile stylixConfFile - else ""; - - # Default cursor values - cursorName = "phinger-cursors-light"; - cursorSize = 24; - -in -{ - # --- Top-level toggle --- - options.enableStylix = lib.mkEnableOption "Enable Stylix system theming"; - - # --- Only apply configuration if enabled --- - config = lib.mkIf enableProgram { - - # Deploy Stylix configuration files to user's XDG config - home-manager.users.${username}.xdg.configFile = - lib.mapAttrs' (name: value: { - name = "${moduleName}/${name}"; - value.source = value.src; - }) files; - - # Merge all session variables into a single map - home-manager.users.${username}.home.sessionVariables = lib.mkMerge [ - { - STYLIX_CONF = stylixConf; - } - { - XCURSOR_THEME = cursorName; - XCURSOR_SIZE = toString cursorSize; - HYPRCURSOR_THEME = cursorName; - HYPRCURSOR_SIZE = toString cursorSize; - } - ]; - - # Optional wallpaper helper packages (symbolic, install manually or via packages) - environment.systemPackages = [ - "feh" - "st" - ]; - }; -} diff --git a/Droidnix/generated/modules/desktop/xdg.nix b/Droidnix/generated/modules/desktop/xdg.nix deleted file mode 100644 index 05edd708c..000000000 --- a/Droidnix/generated/modules/desktop/xdg.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, config, pkgs, inputs, ... }: - -let - # Default user fallback - username = config.defaultUser or "henrov"; - - # Safe package reference with flake input fallback - xdgPortalHyprlandPkg = pkgs.xdg-desktop-portal-hyprland or - inputs.xdgPortalHyprland.packages.${pkgs.system}.default; -in -{ - # System-wide installation of XDG portal package - environment.systemPackages = [ - xdgPortalHyprlandPkg - ]; - - # Home Manager user configuration - _module.args.hmUsers = { - ${username} = { - home.packages = [ - xdgPortalHyprlandPkg - ]; - - # Enable XDG portal for Hyprland - xdg.portal = { - enable = true; - extraPortals = [ xdgPortalHyprlandPkg ]; - config.hyprland = { - "org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; - }; - }; - }; - }; -} diff --git a/Droidnix/generated/modules/system/terminal.nix b/Droidnix/generated/modules/system/terminal.nix deleted file mode 100644 index 3c37aa911..000000000 --- a/Droidnix/generated/modules/system/terminal.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, pkgs, ... }: - -{ - # (NVF = Neovim/terminal flavor) - stylix.targets.nvf.enable = true; - # feh wallpaper integration - stylix.targets.feh.enable = true; -} diff --git a/Droidnix/generated/modules/terminals/kitty.nix b/Droidnix/generated/modules/terminals/kitty.nix deleted file mode 100644 index 198874784..000000000 --- a/Droidnix/generated/modules/terminals/kitty.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ lib, pkgs, config, ... }: - -let - username = config.defaultUser or "henrov"; - moduleName = "kitty"; - - # Paths and files - assetPath = ../../../assets/system/conf/${moduleName}; - programFiles = builtins.readDir assetPath; - files = lib.genAttrs (builtins.attrNames programFiles) (name: { - src = "${assetPath}/${name}"; - }); -in -{ - # Install kitty system-wide - environment.systemPackages = [ pkgs.kitty ]; - - # Home Manager user-specific configuration - _module.args.hmUsers = { - ${username} = { - programs.kitty.enable = true; - - # Extra user config snippet - programs.kitty.extraConfig = '' - # Include the Catppuccin-Mocha theme - include themes/Catppuccin-Mocha.conf - ''; - - # Copy all asset files into ~/.config/kitty/ - home.file = lib.mkMerge ( - map (name: { ".config/${moduleName}/${name}" = { source = files.${name}.src; }; }) - (builtins.attrNames files) - ); - }; - }; -} diff --git a/Droidnix/generated/modules/terminals/starship.nix b/Droidnix/generated/modules/terminals/starship.nix deleted file mode 100644 index 8503a6c1e..000000000 --- a/Droidnix/generated/modules/terminals/starship.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - username = config.defaultUser or "henrov"; - - # Paths - starshipAssets = ../../../assets/system/conf/starship.toml; -in -{ - # Install Starship system-wide - environment.systemPackages = [ - pkgs.starship - ]; - - # Home Manager user settings - _module.args.hmUsers = { - ${username} = { - home.packages = [ - pkgs.starship - ]; - - # Copy the config into ~/.config - home.file.".config/starship.toml".source = starshipAssets; - }; - }; -} diff --git a/Droidnix/generated/modules/terminals/zsh.nix b/Droidnix/generated/modules/terminals/zsh.nix deleted file mode 100644 index c22a78834..000000000 --- a/Droidnix/generated/modules/terminals/zsh.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, pkgs, config, ... }: - -let - username = config.defaultUser or "henrov"; - programName = "zsh"; - programAssets = ../../../assets/system/conf/${programName}; - zshInitFile = "${programAssets}/zsh.conf"; -in -{ - # System-wide package - environment.systemPackages = [ pkgs.zsh ]; - - # Home Manager user settings - _module.args.hmUsers = { - ${username} = { - # Enable Zsh + Oh-My-Zsh - programs.zsh = { - enable = true; - ohMyZsh.enable = true; - ohMyZsh.theme = "catppuccin-mocha"; - ohMyZsh.plugins = [ - "git" - "docker" - "direnv" - "zsh-autosuggestions" - "zsh-completions" - "zsh-history-substring-search" - ]; - - # Inject contents of zsh.conf - shellInit = builtins.readFile zshInitFile; - }; - }; - }; -} diff --git a/Droidnix/generated/modules/users/henrov.nix b/Droidnix/generated/modules/users/henrov.nix deleted file mode 100644 index 97b900a0e..000000000 --- a/Droidnix/generated/modules/users/henrov.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - username = "henrov"; -in -{ - # NixOS user - users.users.${username} = { - isNormalUser = true; - home = "/home/${username}"; - hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/"; - extraGroups = [ "wheel" "networkmanager" ]; - }; - - # Home Manager user definition - _module.args.hmUsers = { - ${username} = { - home.username = username; - home.homeDirectory = "/home/${username}"; - home.stateVersion = "26.05"; - - # Example: user packages - home.packages = [ pkgs.git pkgs.vim ]; - }; - }; -} diff --git a/Droidnix/generated/parked/apps/emacs/early-init.el b/Droidnix/generated/parked/apps/emacs/early-init.el deleted file mode 100644 index d6f8111be..000000000 --- a/Droidnix/generated/parked/apps/emacs/early-init.el +++ /dev/null @@ -1,92 +0,0 @@ -;;; package --- early init -*- lexical-binding: t -*- - ;;; Commentary: - ;;; Prevents white flash and better Emacs defaults - ;;; Code: - (set-language-environment "UTF-8") - (setq-default -default-frame-alist -'((background-color . "#1e1e2e") - (bottom-divider-width . 1) ; Thin horizontal window divider - (foreground-color . "#bac2de") ; Default foreground color - (fullscreen . maximized) ; Maximize the window by default - (horizontal-scroll-bars . nil) ; No horizontal scroll-bars - (left-fringe . 8) ; Thin left fringe - (menu-bar-lines . 0) ; No menu bar - (right-divider-width . 1) ; Thin vertical window divider - (right-fringe . 8) ; Thin right fringe - (tool-bar-lines . 0) ; No tool bar - (undecorated . t) ; Remove extraneous X decorations - (vertical-scroll-bars . nil)) ; No vertical scroll-bars -user-full-name "Henrov henrov" ; ME! -;; memory configuration -;; Higher garbage collection threshold, prevents frequent gc locks, reset later -gc-cons-threshold most-positive-fixnum -;; Ignore warnings for (obsolete) elisp compilations -byte-compile-warnings '(not obsolete) -;; And other log types completely -warning-suppress-log-types '((comp) (bytecomp)) -;; Large files are okay in the new millenium. -large-file-warning-threshold 100000000 -;; dont show garbage collection messages at startup, will reset later -garbage-collection-messages nil -;; native compilation -package-native-compile t -native-comp-warning-on-missing-source nil -native-comp-async-report-warnings-errors 'silent -;; Read more based on system pipe capacity -read-process-output-max (max (* 10240 10240) read-process-output-max) -;; scroll configuration -scroll-margin 0 ; Lets scroll to the end of the margin -scroll-conservatively 100000 ; Never recenter the window -scroll-preserve-screen-position 1 ; Scrolling back and forth -;; frame config -;; Improve emacs startup time by not resizing to adjust for custom settings -frame-inhibit-implied-resize t -;; Dont resize based on character height / width but to exact pixels -frame-resize-pixelwise t -;; backups & files -backup-directory-alist '(("." . "~/.backups/")) ; Don't clutter -backup-by-copying t ; Don't clobber symlinks -create-lockfiles nil ; Don't have temp files -delete-old-versions t ; Cleanup automatically -kept-new-versions 6 ; Update every few times -kept-old-versions 2 ; And cleanup even more -version-control t ; Version them backups -delete-by-moving-to-trash t ; Dont delete, send to trash instead -;; startup -inhibit-startup-screen t ; I have already done the tutorial. Twice -inhibit-startup-message t ; I know I am ready -inhibit-startup-echo-area-message t ; Yep, still know it -initial-scratch-message nil ; I know it is the scratch buffer! -initial-buffer-choice nil -inhibit-startup-buffer-menu t -inhibit-x-resources t -initial-major-mode 'fundamental-mode -pgtk-wait-for-event-timeout 0.001 ; faster child frames -ad-redefinition-action 'accept ; dont care about legacy things being redefined -inhibit-compacting-font-caches t -;; tabs -tab-width 4 ; Always tab 4 spaces. -indent-tabs-mode nil ; Never use actual tabs. -;; rendering -cursor-in-non-selected-windows nil ; dont render cursors other windows -;; packages -use-package-always-defer t -load-prefer-newer t -default-input-method nil -use-dialog-box nil -use-file-dialog nil -use-package-expand-minimally t -package-enable-at-startup nil -use-package-enable-imenu-support t -auto-mode-case-fold nil ; No second pass of case-insensitive search over auto-mode-alist. -package-archives '(("melpa" . "https://melpa.org/packages/") - ("gnu" . "https://elpa.gnu.org/packages/") - ("nongnu" . "https://elpa.nongnu.org/nongnu/") - ("melpa-stable" . "https://stable.melpa.org/packages/")) -package-archive-priorities '(("gnu" . 99) - ("nongnu" . 80) - ("melpa" . 70) - ("melpa-stable" . 50)) -) -;;; early-init.el ends here diff --git a/Droidnix/generated/parked/apps/emacs/emacs.nix b/Droidnix/generated/parked/apps/emacs/emacs.nix deleted file mode 100644 index c7d23f09c..000000000 --- a/Droidnix/generated/parked/apps/emacs/emacs.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ lib, pkgs, config, ... }: - -let - moduleName = "emacs"; - username = config.defaultUser or "henrov"; - - # Paths to your init files (relative to this module) - emacsAssets = ../../../assets/system/conf/emacs; - initFile = "${emacsAssets}/init.el"; - earlyInitFile = "${emacsAssets}/early-init.el"; - - # Toggle for this module - enableProgram = config.enableEmacs or false; -in -{ - # Top-level toggle option - options.enableEmacs = lib.mkEnableOption "Enable Emacs configuration"; - - config = lib.mkIf enableProgram { - - # Minimal system-wide Emacs package - environment.systemPackages = [ - pkgs.emacs-pgtk.override { withTreeSitter = true; } - ]; - - # Home Manager Emacs config - home-manager.users.${username} = { - programs.emacs = { - enable = true; - package = pkgs.emacs-pgtk.override { withTreeSitter = true; }; - - extraPackages = epkgs: with epkgs; [ - # Core dev and language support - manualPackages.treesit-grammars.with-all-grammars - rust-mode - rustic - nix-mode - hcl-mode - - # UI & workflow - nerd-icons - doom-modeline - diminish - eldoc - eldoc-box - pulsar - which-key - avy - consult - vertico - marginalia - crux - shell-pop - - # Completion/snippets - nerd-icons-corfu - corfu - cape - orderless - yasnippet - yasnippet-snippets - - # Utilities - rg - exec-path-from-shell - eat - f - gptel - nixpkgs-fmt - envrc - - # Theming - catppuccin-theme - - # Git - magit - - # Editing/workflow - expreg - vundo - puni - - # Error/side panels - sideline - sideline-flymake - sideline-eglot - ]; - - # Load your init files from assets - initFile = initFile; - earlyInitFile = earlyInitFile; - }; - - # Useful session variables - home.sessionVariables = { - EDITOR = "emacs"; - XDG_SCREENSHOTS_DIR = "~/screenshots"; - }; - }; - }; -} diff --git a/Droidnix/generated/parked/apps/emacs/init.el b/Droidnix/generated/parked/apps/emacs/init.el deleted file mode 100644 index 199d8c228..000000000 --- a/Droidnix/generated/parked/apps/emacs/init.el +++ /dev/null @@ -1,400 +0,0 @@ -;;; package --- Summary - My minimal Emacs init file -*- lexical-binding: t -*- - -;;; Commentary: -;;; Simple Emacs setup I carry everywhere - -;;; Code: -(setq custom-file (locate-user-emacs-file "custom.el")) -(load custom-file 'noerror) ;; no error on missing custom file - -(require 'package) -(package-initialize) - -(defun reset-custom-vars () -"Resets the custom variables that were set to crazy numbers" -(setopt gc-cons-threshold (* 1024 1024 100)) -(setopt garbage-collection-messages t)) - -(use-package emacs -:custom -(native-comp-async-query-on-exit t) -(read-answer-short t) -(use-short-answers t) -(enable-recursive-minibuffers t) -(which-func-update-delay 1.0) -(visible-bell nil) -(custom-buffer-done-kill t) -(whitespace-line-column nil) -(x-underline-at-descent-line t) -(imenu-auto-rescan t) -(uniquify-buffer-name-style 'forward) -(confirm-nonexistent-file-or-buffer nil) -(create-lockfiles nil) -(make-backup-files nil) -(kill-do-not-save-duplicates t) -(sentence-end-double-space nil) -(treesit-enabled-modes t) -:init -;; base visual -(menu-bar-mode -1) ;; no menu bar -(toggle-scroll-bar -1) ;; no scroll bar -(tool-bar-mode -1) ;; no tool bar either -(blink-cursor-mode -1) ;; stop blinking - -;; font of the century -(set-frame-font "Aporetic Sans Mono 12" nil t) - -:bind -(("C-" . pixel-scroll-precision) ; dont zoom in please, just scroll - ("C-" . pixel-scroll-precision) ; dont zoom in either, just scroll - ("C-x k" . kill-current-buffer)) ; kill the buffer, dont ask -:hook -(text-mode . delete-trailing-whitespace-mode) -(prog-mode . delete-trailing-whitespace-mode) -(after-init . global-display-line-numbers-mode) ;; always show line numbers -(after-init . column-number-mode) ;; column number in the mode line -(after-init . size-indication-mode) ;; file size in the mode line -(after-init . pixel-scroll-precision-mode) ;; smooth mouse scroll -(after-init . electric-pair-mode) ;; i mean ... parens should auto create -(after-init . reset-custom-vars) -) - -(use-package autorevert -:ensure nil -:custom -(auto-revert-interval 3) -(auto-revert-remote-files nil) -(auto-revert-use-notify t) -(auto-revert-avoid-polling nil) -(auto-revert-verbose t) -:hook -(after-init . global-auto-revert-mode)) - -(use-package recentf -:ensure nil -:commands (recentf-mode recentf-cleanup) -:hook -(after-init . recentf-mode) -:custom -(recentf-auto-cleanup 'never) -(recentf-exclude - (list "\\.tar$" "\\.tbz2$" "\\.tbz$" "\\.tgz$" "\\.bz2$" - "\\.bz$" "\\.gz$" "\\.gzip$" "\\.xz$" "\\.zip$" - "\\.7z$" "\\.rar$" - "COMMIT_EDITMSG\\'" - "\\.\\(?:gz\\|gif\\|svg\\|png\\|jpe?g\\|bmp\\|xpm\\)$" - "-autoloads\\.el$" "autoload\\.el$")) - -:config -;; A cleanup depth of -90 ensures that `recentf-cleanup' runs before -;; `recentf-save-list', allowing stale entries to be removed before the list -;; is saved by `recentf-save-list', which is automatically added to -;; `kill-emacs-hook' by `recentf-mode'. -(add-hook 'kill-emacs-hook #'recentf-cleanup -90)) - -(use-package savehist -:ensure nil -:commands (savehist-mode savehist-save) -:hook -(after-init . savehist-mode) -:custom -(savehist-autosave-interval 600) -(savehist-additional-variables - '(kill-ring ; clipboard - register-alist ; macros - mark-ring global-mark-ring ; marks - search-ring regexp-search-ring))) - -(use-package hl-line -:ensure nil -:custom -(hl-line-sticky-flag nil) -(global-hl-line-sticky-flag nil) -:hook -(after-init . global-hl-line-mode)) - -(use-package saveplace -:ensure nil -:commands (save-place-mode save-place-local-mode) -:hook -(after-init . save-place-mode) -:custom -(save-place-limit 400)) - -(use-package nerd-icons -:custom -;; disable bright icon colors -(nerd-icons-color-icons nil))hells.nix - -(use-package doom-modeline -:custom -(inhibit-compacting-font-caches t) ;; speed -(doom-modeline-buffer-file-name-style 'relative-from-project) -(doom-modeline-major-mode-icon nil) ;; distracting icons, no thank you -(doom-modeline-buffer-encoding nil) ;; everything is utf-8 anyway -(doom-modeline-buffer-state-icon nil) ;; the filename already shows me -(doom-modeline-lsp nil) ;; lsp state is too distracting, too often -:hook (after-init . doom-modeline-mode)) - -(load-theme 'catppuccin :no-confirm) - -(use-package diminish :demand t) ;; declutter the modeline -(use-package eldoc -:diminish eldoc-mode -:custom -(eldoc-echo-area-use-multiline-p nil)) ;; docs for everything - -(use-package eldoc-box -:defer t -:config -(set-face-background 'eldoc-box-border (catppuccin-color 'green)) -(set-face-background 'eldoc-box-body (catppuccin-color 'base)) -:bind -(("M-h" . eldoc-box-help-at-point))) - -(use-package pulsar -:commands pulsar-global-mode pulsar-recenter-top pulsar-reveal-entry -:init -(defface pulsar-catppuccin -`((default :extend t) - (((class color) (min-colors 88) (background light)) - :background ,(catppuccin-color 'sapphire)) - (((class color) (min-colors 88) (background dark)) - :background ,(catppuccin-color 'sapphire)) - (t :inverse-video t)) -"Alternative nord face for `pulsar-face'." -:group 'pulsar-faces) -:custom -(pulsar-face 'pulsar-catppuccin) -:hook -(after-init . pulsar-global-mode)) - -(use-package which-key -:commands which-key-mode -:diminish which-key-mode -:hook -(after-init . which-key-mode)) - -(use-package expreg -:bind ("M-m" . expreg-expand)) - -(use-package vundo) ;; undo tree - -;; better structured editing -(use-package puni -:commands puni-global-mode -:hook -(after-init . puni-global-mode)) - -(use-package avy -:bind -("M-i" . avy-goto-char-2) -:custom -(avy-background t)) - -(use-package consult -:bind -("C-x b" . consult-buffer) ;; orig. switch-to-buffer -("M-y" . consult-yank-pop) ;; orig. yank-pop -("M-g M-g" . consult-goto-line) ;; orig. goto-line -("M-g i" . consult-imenu) ;; consult version is interactive -("M-g r" . consult-ripgrep) ;; find in project also works -:custom -(consult-narrow-key "<")) - -(use-package vertico -:commands vertico-mode -:custom -(read-file-name-completion-ignore-case t) -(read-buffer-completion-ignore-case t) -(completion-ignore-case t) -(enable-recursive-minibuffers t) -(minibuffer-prompt-properties '(read-only t cursor-intangible t face minibuffer-prompt)) -:init -(vertico-mode) -:hook -(minibuffer-setup-hook . cursor-intangible-mode)) - -(use-package marginalia -:commands marginalia-mode -:hook (after-init . marginalia-mode)) - -(use-package crux -:bind -("C-c M-e" . crux-find-user-init-file) -("C-c C-w" . crux-transpose-windows) -("C-c M-d" . crux-find-current-directory-dir-locals-file) -("C-a" . crux-move-beginning-of-line)) - -(use-package magit -:bind (("C-M-g" . magit-status))) - -(use-package nerd-icons-corfu -:commands nerd-icons-corfu-formatter -:defines corfu-margin-formatters) - -(use-package corfu -:commands global-corfu-mode -:custom -(corfu-cycle t) -(corfu-auto t) -(corfu-auto-delay 1) -(corfu-auto-prefix 3) -(corfu-separator ?_) -:hook -(after-init . global-corfu-mode) -:config -(add-to-list 'corfu-margin-formatters #'nerd-icons-corfu-formatter)) - -(use-package cape) - -(use-package orderless -:custom -(completion-styles '(orderless partial-completion basic)) -(completion-category-defaults nil) -(completion-category-overrides nil)) - -(use-package yasnippet -:commands yas-global-mode -:diminish yas-minor-mode -:hook -(after-init . yas-global-mode)) - -(use-package yasnippet-snippets :after yasnippet) - -(use-package exec-path-from-shell -:commands exec-path-from-shell-initialize -:custom -(exec-path-from-shell-arguments nil) -:hook -(after-init . exec-path-from-shell-initialize)) - -(use-package nixpkgs-fmt -:custom -(nixpkgs-fmt-command "nixfmt")) - -(use-package eat -:bind -(("C-c e p" . eat-project) - ("C-c e t" . eat))) - -(use-package f :demand t) - -(use-package envrc -:commands envrc-global-mode -:hook -(after-init . envrc-global-mode)) - -(use-package gptel -:commands gptel-make-anthropic f-read-text -:config -(gptel-make-anthropic "Claude" -:stream t :key (f-read-text "/run/secrets/claude_key"))) - -(use-package sideline-flymake) -(use-package sideline-eglot) -(use-package sideline -:custom -(sideline-backends-right '(sideline-flymake sideline-eglot)) -:hook -(eglot-managed-mode . sideline-mode) -(flymake-mode . sideline-mode)) - -(use-package eglot -:custom -(eglot-extend-to-xref t) -(eglot-ignored-server-capabilities '(:inlayHintProvider)) -(jsonrpc-event-hook nil) -:hook -(eglot-managed-mode . eldoc-box-hover-mode) -(before-save . eldoc-format-buffer) -:bind -(:map eglot-mode-map - ("C-c l a" . eglot-code-actions) - ("C-c l r" . eglot-rename) - ("C-c l h" . eldoc) - ("C-c l g" . xref-find-references) - ("C-c l w" . eglot-reconnect))) - -(use-package proced -:custom -(proced-auto-update-flag t) -(proced-auto-update-interval 3) -(proced-enable-color-flag t) -(proced-show-remote-processes t)) - -(use-package org -:ensure t -:defer t -:commands (org-mode org-capture org-agenda) -:init -(defvar org-journal-file "~/nextcloud/org/journal.org") -(defvar org-archive-file "~/nextcloud/org/archive.org") -(defvar org-notes-file "~/nextcloud/org/notes.org") -(defvar org-inbox-file "~/nextcloud/org/inbox.org") -(defvar org-work-file "~/nextcloud/org/work.org") -(defun my/org-capture-project-target-heading () -"Determine Org target headings from the current file's project path. - -This function assumes a directory structure like '~/projects/COMPANY/PROJECT/'. -It extracts 'COMPANY' and 'PROJECT' to use as nested headlines -for an Org capture template. - -If the current buffer is not visi -ting a file within such a -project structure, it returns nil, causing capture to default to -the top of the file." -(when-let* ((path (buffer-file-name))) ; Ensure we are in a file-visiting buffer - (let ((path-parts (split-string path "/" t " "))) - (when-let* ((projects-pos (cl-position "projects" path-parts :test #'string=)) - (company (nth (+ 1 projects-pos) path-parts)) - (project (nth (+ 2 projects-pos) path-parts))) - ;; Return a list of headlines for Org to find or create. - (list company project))))) -:bind -(("C-c c" . org-capture) - ("C-c i" . org-store-link) - ("C-c a" . org-agenda) - :map org-mode-map - ("C-c t" . org-toggle-inline-images) - ("C-c l" . org-toggle-link-display)) -:custom -(org-agenda-files (list org-inbox-file org-journal-file)) -(org-directory "~/nextcloud/org") -(org-default-notes-file org-inbox-file) -(org-archive-location (concat org-archive-file "::* From %s")) -(org-log-done 'time) -(org-log-into-drawer t) -(org-hide-emphasis-markers t) -(org-src-fontify-natively t) -(org-src-tab-acts-natively t) -(org-capture-templates '(("t" "todo" entry (file org-inbox-file) - "* todo %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%a\n\n)") - ("j" "Journal" entry (file+olp+datetree org-journal-file) - "* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%a\n\n") - ("n" "Note" entry (file org-notes-file) - "* %?\n:PROPERTIES:\n:CREATED: %U\n:END:\n\n%a\n\n") - ("p" "Project Task" item - (file+function org-work-file my/org-capture-project-target-heading) - "* todo %? \n CLOCK: %U" - )) - ) -:config -;; Enable syntax highlighting in code blocks -(add-hook 'org-mode-hook 'turn-on-font-lock) -(add-hook 'org-mode-hook 'org-indent-mode)) - -;; extras -(use-package comp-run -:ensure nil -:config -(push "tramp-loaddefs.el.gz" native-comp-jit-compilation-deny-list) -(push "cl-loaddefs.el.gz" native-comp-jit-compilation-deny-list)) - -(use-package rustic -:custom -(rustic-lsp-client 'eglot)) - -(provide 'init) - -;;; init.el ends here diff --git a/Droidnix/generated/parked/apps/flatpaks.nix b/Droidnix/generated/parked/apps/flatpaks.nix deleted file mode 100644 index f13115e72..000000000 --- a/Droidnix/generated/parked/apps/flatpaks.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ lib, pkgs, config, ... }: - -let - # Module name - moduleName = "flatpaks"; - - # Top-level toggle for this module - enableProgram = config.enableFlatpaks or false; - - # Path to your Flatpak list - assetPath = ../../../assets/system/apps/flatpaks.conf; - - # Resolve user safely - username = config.defaultUser or "henrov"; -in -{ - # --- Top-level toggle option --- - options.enableFlatpaks = lib.mkEnableOption "Enable automatic Flatpak installation"; - - # --- Config only applied if enabled --- - config = lib.mkIf enableProgram { - - # Deploy the Flatpak conf file - environment.etc."flatpak/flatpaks.conf".source = assetPath; - - # Enable system Flatpak service - services.flatpak.enable = true; - xdg.portal.enable = true; - - # Systemd service to install Flatpaks from the list - systemd.services."${moduleName}-sync" = { - description = "Install Flatpak apps listed in flatpaks.conf"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - - serviceConfig = { - Type = "oneshot"; - ExecStart = '' - set -euo pipefail - CONF="${assetPath}" - - # Add Flathub if not present - if ! flatpak remotes --system --columns=name | grep -qx flathub; then - flatpak remote-add --system --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo - fi - - # Install every Flatpak listed in the conf file - while IFS= read -r app || [ -n "$app" ]; do - app=$(echo "$app" | sed 's/#.*//;s/^[[:space:]]*//;s/[[:space:]]*$//') - if [ -n "$app" ]; then - if ! flatpak info --system "$app" >/dev/null 2>&1; then - flatpak install --system -y --noninteractive flathub "$app" - fi - fi - done < "$CONF" - ''; - }; - - restartTriggers = [ assetPath ]; - - # Include only the packages needed for this service - path = [ pkgs.flatpak pkgs.coreutils pkgs.gnugrep pkgs.gnused ]; - }; - }; -} diff --git a/Droidnix/generated/parked/apps/thunar.nix b/Droidnix/generated/parked/apps/thunar.nix deleted file mode 100644 index 9d135a314..000000000 --- a/Droidnix/generated/parked/apps/thunar.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, pkgs, config, ... }: - -let - enableProgram = config.enableThunar or false; - username = config.defaultUser or "henrov"; -in -{ - # Top-level toggle - options.enableThunar = lib.mkEnableOption "Enable Thunar file manager"; - - # Only apply config if enabled - config = lib.mkIf enableProgram { - # Install Thunar and related packages system-wide - environment.systemPackages = [ - pkgs.thunar - pkgs.thunar-plugins - pkgs.xarchiver - ]; - - # Remove invalid top-level 'home' reference - # If you want sessionVariables, define them in Home Manager instead - # Example for Home Manager: - # home-manager.users.${username}.sessionVariables = { - # FILE_MANAGER = "thunar"; - # USERNAME = username; - # }; - }; -} diff --git a/Droidnix/generated/parked/apps/wofi.nix b/Droidnix/generated/parked/apps/wofi.nix deleted file mode 100644 index 169e5b55e..000000000 --- a/Droidnix/generated/parked/apps/wofi.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib, config, ... }: - -let - # --- Program definition --- - programName = "wofi"; - - # Path to assets - assetPath = ../../../assets/system/conf/${programName}; - - # Generate file mappings - programFiles = - if builtins.pathExists assetPath then builtins.readDir assetPath else {}; - files = lib.genAttrs (builtins.attrNames programFiles) (name: { - src = "${assetPath}/${name}"; - }); - - # Top-level toggle for this module - enableProgram = config.enableWofi or false; - - # Default user - username = config.defaultUser or "henrov"; -in -{ - # --- Module option --- - options.enableWofi = lib.mkEnableOption "Enable Wofi terminal launcher"; - - # --- Config --- - config = lib.mkIf enableProgram { - - # --- Deploy assets to ~/.config/wofi --- - environment.etc."${programName}".source = assetPath; - - # --- Optional systemd service to sync config --- - systemd.services."${programName}-sync" = { - description = "Sync ${programName} configuration files"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - - serviceConfig = { - Type = "oneshot"; - ExecStart = '' - set -euo pipefail - if [ -d "${assetPath}" ]; then - for f in ${lib.concatStringsSep " " (builtins.attrNames files)}; do - mkdir -p "/home/${username}/.config/${programName}" - cp -u "${assetPath}/$f" "/home/${username}/.config/${programName}/$f" - done - fi - ''; - }; - - restartTriggers = [ assetPath ]; - path = []; - }; - }; -} diff --git a/Droidnix/generated/parked/apps/zenbrowser.nix b/Droidnix/generated/parked/apps/zenbrowser.nix deleted file mode 100644 index 93eeb51cd..000000000 --- a/Droidnix/generated/parked/apps/zenbrowser.nix +++ /dev/null @@ -1,62 +0,0 @@ -{ lib, config, pkgs, ... }: - -let - # --- Program definition --- - programName = "zenbrowser"; - - # Assets (optional, empty if no config) - assetPath = - if builtins.pathExists ../../../assets/system/conf/${programName} - then ../../../assets/system/conf/${programName} - else null; - - programFiles = - if assetPath != null then builtins.readDir assetPath else {}; - - files = lib.genAttrs (builtins.attrNames programFiles) (name: { - src = "${assetPath}/${name}"; - }); - - # Top-level toggle for this module - enableProgram = config.enableZenBrowser or false; - - # Default user fallback - username = config.defaultUser or "henrov"; -in -{ - # --- Option --- - options.enableZenBrowser = lib.mkEnableOption "Install Zen Browser"; - - # --- Config --- - config = lib.mkIf enableProgram { - - # --- Deploy assets (if any) --- - environment.etc."${programName}".source = assetPath; - - # --- System packages --- - environment.systemPackages = [ pkgs.zen-browser ]; - - # --- Example systemd service to sync assets --- - systemd.services."${programName}-sync" = { - description = "Sync ${programName} configuration files"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - - serviceConfig = { - Type = "oneshot"; - ExecStart = '' - set -euo pipefail - if [ -d "${assetPath}" ]; then - for f in ${lib.concatStringsSep " " (builtins.attrNames files)}; do - cp -u "${assetPath}/$f" "/home/${username}/.config/${programName}/$f" - done - fi - ''; - }; - - restartTriggers = [ assetPath ]; - path = []; - }; - }; -} diff --git a/Droidnix/generated/parked/desktop/fonts.nix b/Droidnix/generated/parked/desktop/fonts.nix deleted file mode 100644 index e8b70eee9..000000000 --- a/Droidnix/generated/parked/desktop/fonts.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ lib, pkgs, config, ... }: - -{ - options.enableFonts = lib.mkEnableOption "Enable nerd fonts"; - - config = lib.mkIf (config.enableFonts or false) { - fonts.packages = with pkgs; [ - nerd-fonts.iosevka - nerd-fonts.fira-code - ]; - }; -} diff --git a/Droidnix/generated/parked/desktop/waybar.nix b/Droidnix/generated/parked/desktop/waybar.nix deleted file mode 100644 index 42cfb1c3b..000000000 --- a/Droidnix/generated/parked/desktop/waybar.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ lib, config, ... }: - -let - # --- Module variables --- - moduleName = "waybar"; - username = config.defaultUser or "henrov"; - - # Assets directory (self-contained) - assetPath = ../../../assets/system/conf/${moduleName}; - - # Read required config files - waybarConfig = "${assetPath}/waybar.conf"; - waybarStyle = "${assetPath}/style.css"; - - # Top-level toggle - enableProgram = config.enableWaybar or false; -in -{ - # --- Option --- - options.enableWaybar = - lib.mkEnableOption "Enable Waybar status bar"; - - # --- Config --- - config = lib.mkIf enableProgram { - - # Install Waybar (symbolic reference expected to be resolved elsewhere) - environment.systemPackages = [ - "waybar" - ]; - - # Deploy only required files to ~/.config/waybar - home-manager.users.${username}.xdg.configFile = { - - "waybar/config".source = - if builtins.pathExists waybarConfig - then waybarConfig - else null; - - "waybar/style.css".source = - if builtins.pathExists waybarStyle - then waybarStyle - else null; - }; - }; -} diff --git a/Droidnix/generated/parked/system/dbus.nix b/Droidnix/generated/parked/system/dbus.nix deleted file mode 100644 index b39025a6b..000000000 --- a/Droidnix/generated/parked/system/dbus.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, pkgs, lib, ... }: -{ - services.dbus = lib.mkForce { - enable = true; # Force this to be true - }; - - # Configure dbus-broker via its configuration file - environment.etc."dbus-broker/launch.conf".text = '' - [General] - LogLevel=warning - MaxConnectionsPerUser=2048 - ''; -} diff --git a/Droidnix/generated/parked/system/networking.nix b/Droidnix/generated/parked/system/networking.nix deleted file mode 100644 index 3ed8c4511..000000000 --- a/Droidnix/generated/parked/system/networking.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ lib, config, pkgs,... }: - -let - coreEnabled = config.mySystem.system.core.enable or false; -in -{ - options.mySystem.system.locale.enable = - lib.mkEnableOption "Network settings"; - - config = lib.mkIf (coreEnabled || config.mySystem.system.locale.enable) { - - networking = { - useDHCP = lib.mkDefault true; - networkmanager.enable = true; - networkmanager.wifi.backend = "iwd"; - wireless.iwd.enable = true; - wireless.userControlled.enable = true; - firewall = { - enable = true; - # KDE Connect: discovery + encrypted connections - allowedTCPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - allowedUDPPortRanges = [ - { - from = 1714; - to = 1764; - } - ]; - }; - }; - - # Install NetworkManager - environment.systemPackages = with pkgs; [ - networkmanager - ]; -}; -} diff --git a/Droidnix/generated/system/desktop/wayland.nix b/Droidnix/generated/system/desktop/wayland.nix deleted file mode 100644 index 52ffd5b10..000000000 --- a/Droidnix/generated/system/desktop/wayland.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, config, pkgs, inputs, ... }: - -let - username = config.defaultUser or "henrov"; - - # Wayland-specific packages - uwsmPkg = pkgs.uwsm or inputs.uwsm.packages.${pkgs.system}.default; -in -{ - # System packages - environment.systemPackages = [ uwsmPkg ]; - - # Enable Hyprland at system level - wayland.windowManager.hyprland.enable = true; - - # Home Manager user settings - _module.args.hmUsers = { - ${username} = { - home.packages = [ uwsmPkg ]; - }; - }; -} diff --git a/Droidnix/generated/template.nix b/Droidnix/generated/template.nix deleted file mode 100644 index 595f36e22..000000000 --- a/Droidnix/generated/template.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ lib, config, pkgs, inputs, ... }: - -let - # Default username fallback - username = config.defaultUser or "henrov"; - - # Asset folder for configs - assetPath = ../../../assets//conf; - - # Main configuration file - mainConfig = "${assetPath}/"; - - # Determine the package: prefer Nixpkgs, fallback to -git, fallback to flake input - myPkg = - pkgs. or - pkgs.-git or - inputs..packages.${pkgs.system}.default; -in -{ - # Install system-wide - environment.systemPackages = [ myPkg ]; - - # Home Manager user settings - _module.args.hmUsers = { - ${username} = { - home.packages = [ myPkg ]; - - # Copy main config into user's home - home.file.".config//".source = mainConfig; - - # Optional module-specific settings - settings.general = { - # Example placeholder - "example.setting" = "value"; - }; - - # Optional: you can add more files dynamically from assetPath if needed - }; - }; -} diff --git a/Droidnix/generated/todo/desktop/gtk.nix b/Droidnix/generated/todo/desktop/gtk.nix deleted file mode 100644 index fe8171681..000000000 --- a/Droidnix/generated/todo/desktop/gtk.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ pkgs, user, ... }: -{ - environment.systemPackages = with pkgs; [ - gtk3 # GTK target - gtk4 # GTK target - ]; - # Stylix GTK target - stylix.targets.gtk.enable = true; - - home-manager.users.${user.username} = { - gtk = { - enable = true; - theme = { - name = "Catppuccin-Mocha-Standard-Blue-Dark"; - package = pkgs.magnetic-catppuccin-gtk; - }; - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; - }; - gtk3.extraConfig = { - gtk-application-prefer-dark-theme = 1; - }; - gtk4.extraConfig = { - gtk-application-prefer-dark-theme = 1; - }; - }; - - }; -} diff --git a/Droidnix/generated/todo/system/bluetooth.nix b/Droidnix/generated/todo/system/bluetooth.nix deleted file mode 100644 index b985e6742..000000000 --- a/Droidnix/generated/todo/system/bluetooth.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ config, pkgs, ... }: -{ - # Enable Bluetooth hardware and daemon - hardware.bluetooth = { - enable = true; - powerOnBoot = true; - packages = with pkgs; [ bluez ]; - }; - - # Enable Bluetooth audio support in PipeWire - services.pipewire = { - config.pulse = { - bluez5.enable = true; - }; - }; - - # Optional: Additional Bluetooth settings - hardware.bluetooth.extraConfig = '' - AutoEnable=true - DiscoverableTimeout=0 - PairableTimeout=0 - ''; - - # Install a graphical Bluetooth manager (optional) - environment.systemPackages = with pkgs; [ - blueman - ]; -} diff --git a/Droidnix/generated/todo/system/homebase.nix b/Droidnix/generated/todo/system/homebase.nix deleted file mode 100644 index 4c5ac5a86..000000000 --- a/Droidnix/generated/todo/system/homebase.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ lib, config, ... }: - -let - coreEnabled = config.mySystem.system.core.enable or false; -in -{ - options.mySystem.system.locale.enable = - lib.mkEnableOption "Home-Manager settings"; - - config = lib.mkIf (coreEnabled || config.mySystem.system.locale.enable) { - - # --- Home Manager Base --- - home-manager = { - backupFileExtension = "backup"; - - users.henrov = { - home.sessionVariables = { - TERMINAL = "kitty"; - EDITOR = "emacs"; - BROWSER = "zen"; - }; - - home.stateVersion = "26.05"; - }; - }; - - }; -} diff --git a/Droidnix/generated/todo/system/homebax.nix b/Droidnix/generated/todo/system/homebax.nix deleted file mode 100644 index e26960407..000000000 --- a/Droidnix/generated/todo/system/homebax.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ lib, config, ... }: - -let - coreEnabled = config.mySystem.system.core.enable or false; -in -{ - # Top-level option for this module - options.mySystem.system.locale.enable = - lib.mkEnableOption "Enable Nix & Flake specific settings"; - - # Top-level container for all custom program configs (your myPrograms idea) - options.myPrograms = lib.mkOption { - type = lib.types.attrsOf lib.types.any; - default = {}; - description = "Container for all custom program configurations"; - }; - - # Apply the configuration only if core or locale is enabled - config = lib.mkIf (coreEnabled || config.mySystem.system.locale.enable) { - nix.settings = { - experimental-features = [ "nix-command" "flakes" ]; - download-buffer-size = 536870912; # 512 MB - cores = 2; - max-jobs = 1; - }; - }; -} diff --git a/Droidnix/generated/todo/system/login-tuigreeter.nix b/Droidnix/generated/todo/system/login-tuigreeter.nix deleted file mode 100644 index f2b8d6ff6..000000000 --- a/Droidnix/generated/todo/system/login-tuigreeter.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ pkgs, user, ... } : -{ -environment.systemPackages = with pkgs; [ -tuigreet -]; -services.greetd = { -enable = true; -settings = { - default_session = { - command = pkgs.lib.mkForce "${pkgs.tuigreet}/bin/tuigreet --remember --time --time-format '%I:%M %p | %a • %h | %F'"; - }; -}; -}; -} diff --git a/Droidnix/generated/todo/system/services.nix b/Droidnix/generated/todo/system/services.nix deleted file mode 100644 index 79688f4fc..000000000 --- a/Droidnix/generated/todo/system/services.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, config, ... }: - -let - coreEnabled = config.mySystem.system.core.enable or false; -in -{ - options.mySystem.system.locale.enable = - lib.mkEnableOption "Services settings (printing / audio)"; - - config = lib.mkIf (coreEnabled || config.mySystem.system.locale.enable) { - - # --- Services (Printing & Audio) --- - services.printing.enable = true; - services.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - }; - }; -} diff --git a/Droidnix/nixos.qcow2 b/Droidnix/nixos.qcow2 new file mode 100644 index 000000000..db41840eb Binary files /dev/null and b/Droidnix/nixos.qcow2 differ