From 6268fe3b00cb86a629b15a85daff95af8fffd779 Mon Sep 17 00:00:00 2001 From: Thomas Syms Date: Wed, 23 Jul 2025 14:18:20 -0300 Subject: [PATCH] Refactor Nix configurations for improved readability and organization; update package declarations to use 'with pkgs;' syntax and remove unnecessary builtins.attrValues. --- home/exampleSecondUser/Hostname1.nix | 11 +- .../exampleSecondUser/common/core/default.nix | 18 ++-- home/panotaka/common/core/default.nix | 27 +++-- home/panotaka/common/core/shell/aider.nix | 5 - home/panotaka/common/core/shell/common.nix | 9 +- home/panotaka/common/core/shell/default.nix | 1 - home/panotaka/common/core/shell/fish.nix | 9 +- .../common/optional/coding/default.nix | 9 +- .../coding/vscode/completion/copilot.nix | 20 ++++ .../common/optional/coding/vscode/default.nix | 102 ++++++------------ .../optional/coding/vscode/languages/csv.nix | 16 +++ .../coding/vscode/languages/golang.nix | 16 +++ .../vscode/{ => languages}/javascript.nix | 1 + .../coding/vscode/{ => languages}/latex.nix | 5 + .../vscode/{ => languages}/markdown.nix | 5 + .../coding/vscode/{ => languages}/nix.nix | 14 +-- .../coding/vscode/languages/python.nix | 16 +++ .../optional/coding/vscode/languages/rust.nix | 19 ++++ .../optional/coding/vscode/languages/svg.nix | 16 +++ .../optional/coding/vscode/languages/yaml.nix | 16 +++ .../common/optional/coding/vscode/rust.nix | 19 ---- .../common/optional/comms/default.nix | 13 +-- .../common/optional/media/default.nix | 12 +-- .../common/optional/productivity/default.nix | 13 +-- .../common/optional/productivity/lmstudio.nix | 9 +- .../common/optional/productivity/obsidian.nix | 9 +- hosts/common/optional/audio.nix | 15 ++- nixos-installer/minimal-configuration.nix | 25 ++--- shell.nix | 39 ++++--- 29 files changed, 256 insertions(+), 233 deletions(-) delete mode 100644 home/panotaka/common/core/shell/aider.nix create mode 100644 home/panotaka/common/optional/coding/vscode/completion/copilot.nix create mode 100644 home/panotaka/common/optional/coding/vscode/languages/csv.nix create mode 100644 home/panotaka/common/optional/coding/vscode/languages/golang.nix rename home/panotaka/common/optional/coding/vscode/{ => languages}/javascript.nix (96%) rename home/panotaka/common/optional/coding/vscode/{ => languages}/latex.nix (86%) rename home/panotaka/common/optional/coding/vscode/{ => languages}/markdown.nix (74%) rename home/panotaka/common/optional/coding/vscode/{ => languages}/nix.nix (81%) create mode 100644 home/panotaka/common/optional/coding/vscode/languages/python.nix create mode 100644 home/panotaka/common/optional/coding/vscode/languages/rust.nix create mode 100644 home/panotaka/common/optional/coding/vscode/languages/svg.nix create mode 100644 home/panotaka/common/optional/coding/vscode/languages/yaml.nix delete mode 100644 home/panotaka/common/optional/coding/vscode/rust.nix diff --git a/home/exampleSecondUser/Hostname1.nix b/home/exampleSecondUser/Hostname1.nix index 8c99810..cf72a1f 100644 --- a/home/exampleSecondUser/Hostname1.nix +++ b/home/exampleSecondUser/Hostname1.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{pkgs, ...}: { imports = [ #################### Required Configs #################### common/core # required @@ -7,9 +6,7 @@ #################### Host-specific Optional Configs #################### ]; - home.packages = builtins.attrValues { - inherit (pkgs) - vlc - ; - }; + home.packages = with pkgs; [ + vlc + ]; } diff --git a/home/exampleSecondUser/common/core/default.nix b/home/exampleSecondUser/common/core/default.nix index 999df94..1397860 100644 --- a/home/exampleSecondUser/common/core/default.nix +++ b/home/exampleSecondUser/common/core/default.nix @@ -3,8 +3,7 @@ lib, pkgs, ... -}: -{ +}: { imports = lib.flatten [ (lib.custom.scanPaths ./.) (map lib.custom.relativeToRoot [ @@ -16,17 +15,14 @@ username = lib.mkDefault "exampleSecondUser"; homeDirectory = lib.mkDefault "/home/${config.home.username}"; stateVersion = lib.mkDefault "24.11"; - sessionPath = [ "$HOME/.local/bin" ]; - }; - - home.packages = builtins.attrValues { - inherit (pkgs) - - # Packages that don't have custom configs go here - nix-tree - ; + sessionPath = ["$HOME/.local/bin"]; }; + home.packages = with pkgs; [ + # Packages that don't have custom configs go here + nix-tree + ]; + nix = { package = lib.mkDefault pkgs.nix; settings = { diff --git a/home/panotaka/common/core/default.nix b/home/panotaka/common/core/default.nix index b7a2321..e38d289 100644 --- a/home/panotaka/common/core/default.nix +++ b/home/panotaka/common/core/default.nix @@ -43,21 +43,18 @@ in { }; }; - home.packages = builtins.attrValues { - inherit - (pkgs) - # FIXME(starter): add/edit as desired - # Packages that don't have custom configs go here - curl - pciutils - pfetch # system info - pre-commit # git hooks - p7zip # compression & encryption - usbutils - unzip # zip extraction - unrar # rar extraction - ; - }; + home.packages = with pkgs; [ + # FIXME(starter): add/edit as desired + # Packages that don't have custom configs go here + curl + pciutils + pfetch # system info + pre-commit # git hooks + p7zip # compression & encryption + usbutils + unzip # zip extraction + unrar # rar extraction + ]; nix = { package = lib.mkDefault pkgs.nix; diff --git a/home/panotaka/common/core/shell/aider.nix b/home/panotaka/common/core/shell/aider.nix deleted file mode 100644 index 5558a43..0000000 --- a/home/panotaka/common/core/shell/aider.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs, ...}: { - home.packages = with pkgs; [ - aider-chat-full - ]; -} diff --git a/home/panotaka/common/core/shell/common.nix b/home/panotaka/common/core/shell/common.nix index cfa3de4..ca1bcd5 100644 --- a/home/panotaka/common/core/shell/common.nix +++ b/home/panotaka/common/core/shell/common.nix @@ -1,8 +1,5 @@ {pkgs, ...}: { - home.packages = builtins.attrValues { - inherit - (pkgs) - oterm - ; - }; + home.packages = with pkgs; [ + oterm + ]; } diff --git a/home/panotaka/common/core/shell/default.nix b/home/panotaka/common/core/shell/default.nix index 3e90ef6..d597ada 100644 --- a/home/panotaka/common/core/shell/default.nix +++ b/home/panotaka/common/core/shell/default.nix @@ -1,7 +1,6 @@ # FIXME(starter): customize your bash preferences here { imports = [ - ./aider.nix ./atuin.nix ./autojump.nix ./bash.nix diff --git a/home/panotaka/common/core/shell/fish.nix b/home/panotaka/common/core/shell/fish.nix index c991fd7..8baac6a 100644 --- a/home/panotaka/common/core/shell/fish.nix +++ b/home/panotaka/common/core/shell/fish.nix @@ -1,10 +1,7 @@ {pkgs, ...}: { - home.packages = builtins.attrValues { - inherit - (pkgs) - grc - ; - }; + home.packages = with pkgs; [ + grc + ]; programs.fish = { enable = true; diff --git a/home/panotaka/common/optional/coding/default.nix b/home/panotaka/common/optional/coding/default.nix index 08280d0..b432419 100644 --- a/home/panotaka/common/optional/coding/default.nix +++ b/home/panotaka/common/optional/coding/default.nix @@ -4,10 +4,7 @@ ./zed.nix ]; - home.packages = builtins.attrValues { - inherit - (pkgs) - hoppscotch - ; - }; + home.packages = with pkgs; [ + hoppscotch + ]; } diff --git a/home/panotaka/common/optional/coding/vscode/completion/copilot.nix b/home/panotaka/common/optional/coding/vscode/completion/copilot.nix new file mode 100644 index 0000000..b833c72 --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/completion/copilot.nix @@ -0,0 +1,20 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + "GitHub.copilot" + "GitHub.copilot-chat" + ]; + userSettings = { + # Enable Copilot Next Edit Suggestions + "github.copilot.nextEditSuggestions.enabled" = true; + # Other useful Copilot settings + "github.copilot.enable" = true; + "github.copilot.inlineSuggest.enable" = true; + "github.copilot.advanced" = { + "inlineSuggest.enableAutoTrigger" = true; + "inlineSuggest.showEditorCompletions" = true; + }; + # Add more Copilot-specific settings as needed + }; + }; +} diff --git a/home/panotaka/common/optional/coding/vscode/default.nix b/home/panotaka/common/optional/coding/vscode/default.nix index 03cf42b..f0872bb 100644 --- a/home/panotaka/common/optional/coding/vscode/default.nix +++ b/home/panotaka/common/optional/coding/vscode/default.nix @@ -3,105 +3,63 @@ lib, ... }: { - imports = [ - ./javascript.nix - ./latex.nix - ./markdown.nix - ./nix.nix - ./rust.nix - ]; + imports = lib.custom.scanPaths ./languages ++ [./completion/copilot.nix]; - home.packages = with pkgs; [ - ]; + home.packages = with pkgs; []; programs.vscode = { enable = true; package = pkgs.vscode; - enableUpdateCheck = false; # Disable VSCode self-update and let Home Manager to manage VSCode versions instead. - enableExtensionUpdateCheck = false; # Disable extensions auto-update and let nix4vscode manage updates and extensions + enableUpdateCheck = false; # Let Home Manager manage VSCode versions + enableExtensionUpdateCheck = false; # Let nix4vscode manage extensions mutableExtensionsDir = false; - # Extensions extensions = pkgs.nix4vscode.forVscode [ - # General extensions - - ## Code Completion - "GitHub.copilot" - "GitHub.copilot-chat" - #"continue.continue" - #"rooveterinaryinc.roo-cline" - #"saoudrizwan.claude-dev" - - ## Development Environment - "ms-toolsai.jupyter" - "ms-vscode-remote.remote-containers" - - ## Error Checking - "usernamehw.errorlens" - - ## Export and Visualisation - "ibm.output-colorizer" - "nobuhito.printcode" - "pnp.polacode" - - ## Git - "lamartire.git-indicators" - "mhutchie.git-graph" - - ## Miscelaneous + # --- General --- "britesnow.vscode-toggle-quotes" "mrmlnc.vscode-duplicate" "qcz.text-power-tools" - - # Language extensions - - ## CSV + # --- Development --- + "ms-toolsai.jupyter" + "ms-vscode-remote.remote-containers" + # --- Error Checking --- + "usernamehw.errorlens" + # --- Output & Visualization --- + "ibm.output-colorizer" + "nobuhito.printcode" + "pnp.polacode" + # --- Git --- + "lamartire.git-indicators" + "mhutchie.git-graph" + # --- Languages --- "mechatroner.rainbow-csv" - - ## Golang "golang.go" - - ## Python "ms-python.python" - - ## SVG "jock.svg" - - ## YAML "redhat.vscode-yaml" ]; - # Settings userSettings = { + # --- Privacy & Telemetry --- "telemetry.feedback.enabled" = false; "github.copilot.enableTelemetry" = false; - + "telemetry.telemetryLevel" = "off"; + "telemetry.enableTelemetry" = false; + "telemetry.enableCrashReporter" = false; + "telemetry.disableFeedback" = true; + "workbench.enableExperiments" = false; + "workbench.settings.enableNaturalLanguageSearch" = false; + # --- Updates & Recommendations --- + "extensions.autoUpdate" = false; + "extensions.ignoreRecommendations" = true; + # --- UI --- "editor.linkedEditing" = true; "editor.inlineSuggest.enabled" = true; "continue.enableTabAutocomplete" = true; - "window.menuBarVisibility" = "toggle"; "window.commandCenter" = false; "window.titleBarStyle" = "native"; "workbench.navigationControl.enabled" = false; "workbench.layoutControl.enabled" = false; - - # Privacy and Security - # 🛑 Core telemetry & crash reporting - "telemetry.telemetryLevel" = "off"; - "telemetry.enableTelemetry" = false; - "telemetry.enableCrashReporter" = false; - - # 🚫 Disable feedback prompts - "telemetry.disableFeedback" = true; - - # 🔬 Turn off experiments and natural‑language features - "workbench.enableExperiments" = false; - "workbench.settings.enableNaturalLanguageSearch" = false; - - # 🔄 Prevent auto‑updates & recommendations - "extensions.autoUpdate" = false; - "extensions.ignoreRecommendations" = true; - - # 🧩 Popular extension‑specific telemetry opt‑outs + # --- Extension-specific telemetry opt-outs --- "code-runner.enableAppInsights" = false; "docker-explorer.enableTelemetry" = false; "gitlens.showWelcomeOnInstall" = false; diff --git a/home/panotaka/common/optional/coding/vscode/languages/csv.nix b/home/panotaka/common/optional/coding/vscode/languages/csv.nix new file mode 100644 index 0000000..f4dfc01 --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/languages/csv.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + # CSV language support + "mechatroner.rainbow-csv" + ]; + userSettings = { + # Add CSV-specific settings here + }; + }; + + # Additional packages for CSV development + home.packages = with pkgs; [ + # Add CSV-related CLI tools here + ]; +} diff --git a/home/panotaka/common/optional/coding/vscode/languages/golang.nix b/home/panotaka/common/optional/coding/vscode/languages/golang.nix new file mode 100644 index 0000000..93537f0 --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/languages/golang.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + # Go language support + "golang.go" + ]; + userSettings = { + # Add Go-specific settings here + }; + }; + + # Additional packages for Go development + home.packages = with pkgs; [ + # Add Go-related CLI tools here + ]; +} diff --git a/home/panotaka/common/optional/coding/vscode/javascript.nix b/home/panotaka/common/optional/coding/vscode/languages/javascript.nix similarity index 96% rename from home/panotaka/common/optional/coding/vscode/javascript.nix rename to home/panotaka/common/optional/coding/vscode/languages/javascript.nix index 24b46aa..aa777b0 100644 --- a/home/panotaka/common/optional/coding/vscode/javascript.nix +++ b/home/panotaka/common/optional/coding/vscode/languages/javascript.nix @@ -47,6 +47,7 @@ }; }; + # Additional packages for JavaScript development home.packages = with pkgs; [ deno pnpm diff --git a/home/panotaka/common/optional/coding/vscode/latex.nix b/home/panotaka/common/optional/coding/vscode/languages/latex.nix similarity index 86% rename from home/panotaka/common/optional/coding/vscode/latex.nix rename to home/panotaka/common/optional/coding/vscode/languages/latex.nix index 8c063d9..62dc13d 100644 --- a/home/panotaka/common/optional/coding/vscode/latex.nix +++ b/home/panotaka/common/optional/coding/vscode/languages/latex.nix @@ -25,4 +25,9 @@ ]; }; }; + + # Additional packages for LaTeX development + home.packages = with pkgs; [ + # Add LaTeX-related CLI tools here + ]; } diff --git a/home/panotaka/common/optional/coding/vscode/markdown.nix b/home/panotaka/common/optional/coding/vscode/languages/markdown.nix similarity index 74% rename from home/panotaka/common/optional/coding/vscode/markdown.nix rename to home/panotaka/common/optional/coding/vscode/languages/markdown.nix index bf13e20..3b922d9 100644 --- a/home/panotaka/common/optional/coding/vscode/markdown.nix +++ b/home/panotaka/common/optional/coding/vscode/languages/markdown.nix @@ -12,4 +12,9 @@ }; }; }; + + # Additional packages for Markdown development + home.packages = with pkgs; [ + # Add Markdown-related CLI tools here + ]; } diff --git a/home/panotaka/common/optional/coding/vscode/nix.nix b/home/panotaka/common/optional/coding/vscode/languages/nix.nix similarity index 81% rename from home/panotaka/common/optional/coding/vscode/nix.nix rename to home/panotaka/common/optional/coding/vscode/languages/nix.nix index 7f0a590..a6f8422 100644 --- a/home/panotaka/common/optional/coding/vscode/nix.nix +++ b/home/panotaka/common/optional/coding/vscode/languages/nix.nix @@ -1,12 +1,7 @@ {pkgs, ...}: { - home.packages = with pkgs; [ - nil - alejandra - deadnix - ]; - programs.vscode = { extensions = pkgs.nix4vscode.forVscode [ + # Nix language support "jnoortheen.nix-ide" "kamadorueda.alejandra" ]; @@ -15,4 +10,11 @@ "nix.serverPath" = "nil"; }; }; + + # Additional packages for Nix development + home.packages = with pkgs; [ + nil + alejandra + deadnix + ]; } diff --git a/home/panotaka/common/optional/coding/vscode/languages/python.nix b/home/panotaka/common/optional/coding/vscode/languages/python.nix new file mode 100644 index 0000000..71226db --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/languages/python.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + # Python language support + "ms-python.python" + ]; + userSettings = { + # Add Python-specific settings here + }; + }; + + # Additional packages for Python development + home.packages = with pkgs; [ + # Add Python-related CLI tools here + ]; +} diff --git a/home/panotaka/common/optional/coding/vscode/languages/rust.nix b/home/panotaka/common/optional/coding/vscode/languages/rust.nix new file mode 100644 index 0000000..779353b --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/languages/rust.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + # Rust language support + "barbosshack.crates-io" + "tamasfe.even-better-toml" + "rust-lang.rust-analyzer" + ]; + userSettings = { + # Add Rust-specific settings here + }; + }; + + # Additional packages for Rust development + home.packages = with pkgs; [ + cargo + rustc + ]; +} diff --git a/home/panotaka/common/optional/coding/vscode/languages/svg.nix b/home/panotaka/common/optional/coding/vscode/languages/svg.nix new file mode 100644 index 0000000..6385039 --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/languages/svg.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + # SVG language support + "jock.svg" + ]; + userSettings = { + # Add SVG-specific settings here + }; + }; + + # Additional packages for SVG development + home.packages = with pkgs; [ + # Add SVG-related CLI tools here + ]; +} diff --git a/home/panotaka/common/optional/coding/vscode/languages/yaml.nix b/home/panotaka/common/optional/coding/vscode/languages/yaml.nix new file mode 100644 index 0000000..a4c5d9b --- /dev/null +++ b/home/panotaka/common/optional/coding/vscode/languages/yaml.nix @@ -0,0 +1,16 @@ +{pkgs, ...}: { + programs.vscode = { + extensions = pkgs.nix4vscode.forVscode [ + # YAML language support + "redhat.vscode-yaml" + ]; + userSettings = { + # Add YAML-specific settings here + }; + }; + + # Additional packages for YAML development + home.packages = with pkgs; [ + # Add YAML-related CLI tools here + ]; +} diff --git a/home/panotaka/common/optional/coding/vscode/rust.nix b/home/panotaka/common/optional/coding/vscode/rust.nix deleted file mode 100644 index 05c590c..0000000 --- a/home/panotaka/common/optional/coding/vscode/rust.nix +++ /dev/null @@ -1,19 +0,0 @@ -{pkgs, ...}: { - programs.vscode = { - extensions = - pkgs.nix4vscode.forVscode - [ - # General - "serayuzgur.crates" - "tamasfe.even-better-toml" - "rust-lang.rust-analyzer" - ]; - userSettings = { - }; - }; - - home.packages = with pkgs; [ - cargo - rustc - ]; -} diff --git a/home/panotaka/common/optional/comms/default.nix b/home/panotaka/common/optional/comms/default.nix index 88cec2e..756b137 100644 --- a/home/panotaka/common/optional/comms/default.nix +++ b/home/panotaka/common/optional/comms/default.nix @@ -2,12 +2,9 @@ {pkgs, ...}: { #imports = [ ./foo.nix ]; - home.packages = builtins.attrValues { - inherit - (pkgs) - teams-for-linux - signal-desktop - discord - ; - }; + home.packages = with pkgs; [ + teams-for-linux + signal-desktop + discord + ]; } diff --git a/home/panotaka/common/optional/media/default.nix b/home/panotaka/common/optional/media/default.nix index 3e5a336..0494738 100644 --- a/home/panotaka/common/optional/media/default.nix +++ b/home/panotaka/common/optional/media/default.nix @@ -1,11 +1,9 @@ # FIXME(starter): add/edit any optional, media related pkgs here -{ pkgs, ... }: -{ +{pkgs, ...}: { #imports = [ ./foo.nix ]; - home.packages = builtins.attrValues { - inherit (pkgs) - vlc - ; - }; + home.packages = with pkgs; [ + vlc + # ...other packages + ]; } diff --git a/home/panotaka/common/optional/productivity/default.nix b/home/panotaka/common/optional/productivity/default.nix index 5c65b03..3864808 100644 --- a/home/panotaka/common/optional/productivity/default.nix +++ b/home/panotaka/common/optional/productivity/default.nix @@ -8,12 +8,9 @@ #imports = [ ./foo.nix ]; - home.packages = builtins.attrValues { - inherit - (pkgs) - blender - inkscape - libreoffice-qt - ; - }; + home.packages = with pkgs; [ + blender + inkscape + libreoffice-qt + ]; } diff --git a/home/panotaka/common/optional/productivity/lmstudio.nix b/home/panotaka/common/optional/productivity/lmstudio.nix index c41124a..e4ac533 100644 --- a/home/panotaka/common/optional/productivity/lmstudio.nix +++ b/home/panotaka/common/optional/productivity/lmstudio.nix @@ -1,8 +1,5 @@ {pkgs, ...}: { - home.packages = builtins.attrValues { - inherit - (pkgs) - lmstudio - ; - }; + home.packages = with pkgs; [ + lmstudio + ]; } diff --git a/home/panotaka/common/optional/productivity/obsidian.nix b/home/panotaka/common/optional/productivity/obsidian.nix index a6d909e..ff50805 100644 --- a/home/panotaka/common/optional/productivity/obsidian.nix +++ b/home/panotaka/common/optional/productivity/obsidian.nix @@ -1,8 +1,5 @@ {pkgs, ...}: { - home.packages = builtins.attrValues { - inherit - (pkgs) - obsidian - ; - }; + home.packages = with pkgs; [ + obsidian + ]; } diff --git a/hosts/common/optional/audio.nix b/hosts/common/optional/audio.nix index c5a7988..463aec7 100644 --- a/hosts/common/optional/audio.nix +++ b/hosts/common/optional/audio.nix @@ -1,7 +1,6 @@ # NOTE(starter): configure your audio needs as required. -{ pkgs, ... }: -{ - hardware.pulseaudio.enable = false; +{pkgs, ...}: { + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; @@ -12,10 +11,8 @@ jack.enable = true; }; - environment.systemPackages = builtins.attrValues { - inherit (pkgs) - playerctl # cli utility and lib for controlling media players - # pamixer # cli pulseaudio sound mixer - ; - }; + environment.systemPackages = with pkgs; [ + playerctl # cli utility and lib for controlling media players + # pamixer # cli pulseaudio sound mixer + ]; } diff --git a/nixos-installer/minimal-configuration.nix b/nixos-installer/minimal-configuration.nix index c88ba60..aa2d423 100644 --- a/nixos-installer/minimal-configuration.nix +++ b/nixos-installer/minimal-configuration.nix @@ -4,8 +4,7 @@ lib, pkgs, ... -}: -{ +}: { imports = lib.flatten [ (map lib.custom.relativeToRoot [ "modules/common/host-spec.nix" @@ -23,7 +22,7 @@ username = "user"; }; - fileSystems."/boot".options = [ "umask=0077" ]; # Removes permissions and security warnings. + fileSystems."/boot".options = ["umask=0077"]; # Removes permissions and security warnings. boot.loader.efi.canTouchEfiVariables = true; boot.loader.systemd-boot = { enable = true; @@ -44,14 +43,12 @@ "systemd.journald.forward_to_console=1" ]; - environment.systemPackages = builtins.attrValues { - inherit (pkgs) - wget - curl - rsync - git - ; - }; + environment.systemPackages = with pkgs; [ + wget + curl + rsync + git + ]; networking = { networkmanager.enable = true; @@ -61,15 +58,15 @@ qemuGuest.enable = true; openssh = { enable = true; - ports = [ 22 ]; + ports = [22]; settings.PermitRootLogin = "yes"; - authorizedKeysFiles = lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ]; + authorizedKeysFiles = lib.mkForce ["/etc/ssh/authorized_keys.d/%u"]; }; }; nix = { # registry and nixPath shouldn't be required here because flakes but removal results in warning spam on build - registry = lib.mapAttrs (_: value: { flake = value; }) inputs; + registry = lib.mapAttrs (_: value: {flake = value;}) inputs; nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; settings = { diff --git a/shell.nix b/shell.nix index 0917951..ada4fdb 100644 --- a/shell.nix +++ b/shell.nix @@ -18,26 +18,23 @@ BOOTSTRAP_SSH_PORT = "22"; BOOTSTRAP_SSH_KEY = "~/.ssh/id_manu"; - nativeBuildInputs = builtins.attrValues { - inherit - (pkgs) - # NOTE(starter): add any packages you want available in the shell when accessing the parent directory. - # These will be installed regardless of what was installed specific for the host or home configs - nix - home-manager - nil - alejandra - nh - git - just - pre-commit - deadnix - sops - yq-go # jq for yaml, used for build scripts - bats # for bash testing - age # for bootstrap script - ssh-to-age # for bootstrap script - ; - }; + nativeBuildInputs = with pkgs; [ + # NOTE(starter): add any packages you want available in the shell when accessing the parent directory. + # These will be installed regardless of what was installed specific for the host or home configs + nix + home-manager + nil + alejandra + nh + git + just + pre-commit + deadnix + sops + yq-go # jq for yaml, used for build scripts + bats # for bash testing + age # for bootstrap script + ssh-to-age # for bootstrap script + ]; }; }