From 38c5422abb59059d12ebea12e082924637e502b5 Mon Sep 17 00:00:00 2001 From: Leonora Tindall Date: Thu, 3 Jul 2025 10:29:55 -0500 Subject: [PATCH] Split config up into pieces --- clipboard-utils.nix | 8 +++++++ communications-gui.nix | 7 ++++++ console.nix | 29 +++++++++++++++++++++++ development.nix | 7 ++++++ go.nix | 6 +++++ home.nix | 44 ++++++++++++++++++++++++++--------- javascript.nix | 7 ++++++ nix-utils.nix | 7 ++++++ packages-min.nix | 52 ------------------------------------------ packages.nix | 49 --------------------------------------- pandoc.nix | 6 +++++ privacy-gui.nix | 7 ++++++ python.nix | 6 +++++ timberhearth.nix | 31 ++++++++++++++++--------- vanity.nix | 7 ++++++ web.nix | 10 ++++++++ zellij.nix | 4 ++++ zsh.nix | 4 ++++ 18 files changed, 168 insertions(+), 123 deletions(-) create mode 100644 clipboard-utils.nix create mode 100644 communications-gui.nix create mode 100644 console.nix create mode 100644 development.nix create mode 100644 go.nix create mode 100644 javascript.nix create mode 100644 nix-utils.nix delete mode 100644 packages-min.nix delete mode 100644 packages.nix create mode 100644 pandoc.nix create mode 100644 privacy-gui.nix create mode 100644 python.nix create mode 100644 vanity.nix create mode 100644 web.nix diff --git a/clipboard-utils.nix b/clipboard-utils.nix new file mode 100644 index 0000000..882f385 --- /dev/null +++ b/clipboard-utils.nix @@ -0,0 +1,8 @@ +{ config, pkgs, ...}: +{ + home.packages = with pkgs; [ + xsel + xclip + wl-clipboard + ]; +} diff --git a/communications-gui.nix b/communications-gui.nix new file mode 100644 index 0000000..ec66c95 --- /dev/null +++ b/communications-gui.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + discord + quasselClient + ]; +} diff --git a/console.nix b/console.nix new file mode 100644 index 0000000..0aeea4a --- /dev/null +++ b/console.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: +{ + # many of these packages come from "mort.io/blog/nu-posix" + home.packages = with pkgs; [ + bat # better cat + htop # better top, but old + bottom # btm ~ better top, htop, etc + broot # interactive directory navigation + chafa # terminal graphics viewer + ctpv # terminal file previewer + cyme # better `lsusb` + delta # better syntax highlighting diff + dfc # better df + dua # disk usage, interactively + eza # improved `ls` + fd # `find` replacement + fend # better CLI calculator + hexyl # hex pretty printer + htop # graphical top + iotop # io top + jujutsu # better git + just # updated gnumake replacement + procs # better ps + ripgrep # rg ~ `grep` replacement + timg # display images in the terminal + viddy # better watch + uutils-coreutils-noprefix # replaces GNU `coreutils` + ]; +} diff --git a/development.nix b/development.nix new file mode 100644 index 0000000..9920d29 --- /dev/null +++ b/development.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + exercism + act + ]; +} diff --git a/go.nix b/go.nix new file mode 100644 index 0000000..13e5de5 --- /dev/null +++ b/go.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + go + ]; +} diff --git a/home.nix b/home.nix index b7b44d8..25b80ae 100644 --- a/home.nix +++ b/home.nix @@ -1,23 +1,45 @@ { config, pkgs, lib, ... }: -let inherit (lib) hm; +let + inherit (lib) hm; + nixGL = import ./nixGL.nix { inherit pkgs config; }; in { imports = [ - ./vim.nix - ./git.nix - ./zsh.nix ./atuin.nix - ./starship.nix - ./ssh.nix - ./eza.nix - ./jq.nix - ./tmux.nix + ./console.nix + ./development.nix ./direnv.nix - ./syncthing.nix + ./eza.nix ./fzf.nix + ./git.nix + ./go.nix + ./hare.nix + ./javascript.nix ./jj.nix + ./jq.nix + ./nix-utils.nix + ./pandoc.nix + ./python.nix + ./ssh.nix + ./starship.nix + ./syncthing.nix + ./tmux.nix + ./vanity.nix + ./vim.nix + ./web.nix ./zellij.nix - ./packages.nix + ./zsh.nix + + ./privacy-gui.nix + ./communications-gui.nix + ]; + + home.packages = with pkgs; [ + (nixGL firefox) + (nixGL anki) + (nixGL digikam) + (nixGL zotero) + (nixGL decker) ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage diff --git a/javascript.nix b/javascript.nix new file mode 100644 index 0000000..c7f7b59 --- /dev/null +++ b/javascript.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + deno + nodejs + ]; +} diff --git a/nix-utils.nix b/nix-utils.nix new file mode 100644 index 0000000..281870c --- /dev/null +++ b/nix-utils.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + nix-output-monitor + npins + ]; +} diff --git a/packages-min.nix b/packages-min.nix deleted file mode 100644 index a9c0a34..0000000 --- a/packages-min.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ config, pkgs, ... }: -{ - home.packages = with pkgs; [ - tor-browser - htop - wget - monolith - freshfetch - neofetch - dfc - yt-dlp - (pkgs.callPackage ./custom/fortune-kind-custom.nix {}) - timg - graphviz - nix-output-monitor - npins - uv - exercism - pandoc - act - go - xsel - xclip - wl-clipboard - neocities - deno - decker - - # from "mort.io/blog/nu-posix" - bat # better cat - bottom # btm ~ better top, htop, etc - broot # interactive directory navigation - chafa # terminal graphics viewer - ctpv # terminal file previewer - cyme # better `lsusb` - delta # better syntax highlighting diff - dua # disk usage, interactively - eza # improved `ls` - fd # `find` replacement - fend # better CLI calculator - hexyl # hex pretty printer - htop # graphical top - iotop # io top - jujutsu # better git - just # updated gnumake replacement - procs # better ps - ripgrep # rg ~ `grep` replacement - uutils-coreutils-noprefix # replaces GNU `coreutils` - viddy # better watch - - ]; -} diff --git a/packages.nix b/packages.nix deleted file mode 100644 index 68bdff7..0000000 --- a/packages.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ config, pkgs, ... }: -let - nixGL = import ./nixGL.nix { inherit pkgs config; }; - nixos_23_11 = builtins.fetchTarball { - name = "nixos-23.11-2024-03-29"; - url = "https://github.com/nixos/nixpkgs/archive/219951b495fc2eac67b1456824cc1ec1fd2ee659.tar.gz"; - sha256 = "065jy7qivlbdqmbvd7r9h97b23f21axmc4r7sqmq2h0j82rmymxv"; - }; - stable = (import nixos_23_11) { - config.allowUnfree = true; - config.permittedInsecurePackages = [ - "electron-25.9.0" - ]; - }; -in -{ - home.packages = with pkgs; [ - mullvad-vpn - tor-browser - opensnitch-ui - htop - ollama - wget - (nixGL firefox) - ripgrep - bat - monolith - fd - quasselClient - discord - freshfetch - neofetch - dfc - (nixGL anki) - (nixGL digikam) - deno - stable.nodejs_21 - yt-dlp - (pkgs.callPackage ./custom/fortune-kind-custom.nix {}) - fend - timg - graphviz - (nixGL zotero) - nix-output-monitor - npins - odin - decker - ]; -} diff --git a/pandoc.nix b/pandoc.nix new file mode 100644 index 0000000..4ac751e --- /dev/null +++ b/pandoc.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + pandoc + ]; +} diff --git a/privacy-gui.nix b/privacy-gui.nix new file mode 100644 index 0000000..f2b6c01 --- /dev/null +++ b/privacy-gui.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + mullvad-vpn + tor-browser + ]; +} diff --git a/python.nix b/python.nix new file mode 100644 index 0000000..232a737 --- /dev/null +++ b/python.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: +{ + home.packages = with pkgs; [ + uv + ]; +} diff --git a/timberhearth.nix b/timberhearth.nix index 8dd179d..6a5d51b 100644 --- a/timberhearth.nix +++ b/timberhearth.nix @@ -3,22 +3,31 @@ let inherit (lib) hm; in { imports = [ - ./vim.nix - ./git.nix - ./zsh.nix ./atuin.nix - ./starship.nix - ./ssh.nix - ./eza.nix - ./jq.nix + ./console.nix + ./development.nix ./direnv.nix - ./syncthing.nix + ./eza.nix ./fzf.nix - ./zellij.nix - ./jj.nix + ./git.nix + ./go.nix ./hare.nix + ./javascript.nix + ./jj.nix + ./jq.nix + ./nix-utils.nix ./ollama.nix - ./packages-min.nix + ./pandoc.nix + ./python.nix + ./ssh.nix + ./starship.nix + ./syncthing.nix + ./tmux.nix + ./vanity.nix + ./vim.nix + ./web.nix + ./zellij.nix + ./zsh.nix ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage diff --git a/vanity.nix b/vanity.nix new file mode 100644 index 0000000..213ad16 --- /dev/null +++ b/vanity.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ...}: +{ + home.packages = with pkgs; [ + freshfetch + neofetch + ]; +} diff --git a/web.nix b/web.nix new file mode 100644 index 0000000..870e736 --- /dev/null +++ b/web.nix @@ -0,0 +1,10 @@ +{ config, pkgs, ...}: +{ + home.packages = with pkgs; [ + curl + wget + monolith + yt-dlp + neocities + ]; +} diff --git a/zellij.nix b/zellij.nix index 790ea34..28e6bd6 100644 --- a/zellij.nix +++ b/zellij.nix @@ -1,5 +1,9 @@ { config, pkgs, ... }: { + imports = [ + ./clipboard-utils.nix + ]; + home.sessionVariables = { ZELLIJ_AUTO_EXIT = "false"; }; diff --git a/zsh.nix b/zsh.nix index 85cc296..70948fe 100644 --- a/zsh.nix +++ b/zsh.nix @@ -12,4 +12,8 @@ enableVteIntegration = true; initContent = (builtins.readFile ./rcfiles/zshrc); }; + + home.packages = [ + (pkgs.callPackage ./custom/fortune-kind-custom.nix {}) + ]; }