From 1ff146e3c0bd340d1e5a844f24d58cde45dee7c4 Mon Sep 17 00:00:00 2001 From: Martin Berg Alstad Date: Sun, 9 Mar 2025 11:25:26 +0100 Subject: [PATCH] :recycle: Replace imports with function argument, hyprpanel does not follow nixpkgs, git push alias --- common.nix | 3 + configuration.nix | 2 +- flake.lock | 234 ++++---------------- flake.nix | 15 +- home-manager/btop.nix | 5 +- home-manager/cava/default.nix | 7 +- home-manager/cursors.nix | 5 +- home-manager/default.nix | 4 +- home-manager/development/git.nix | 1 + home-manager/development/zed.nix | 5 +- home-manager/fastfetch.nix | 1 + home-manager/fish.nix | 8 +- home-manager/gtk.nix | 8 +- home-manager/hyprland/binds.nix | 3 +- home-manager/hyprland/hyprlock/default.nix | 8 +- home-manager/hyprland/hyprpanel/default.nix | 12 +- home-manager/hyprland/hyprpaper.nix | 6 +- home-manager/hyprland/hyprshot.nix | 5 +- home-manager/hyprland/settings.nix | 9 +- home-manager/hyprland/swaync/default.nix | 6 +- home-manager/kitty.nix | 6 +- home-manager/mpv.nix | 14 +- home-manager/rofi/default.nix | 1 + home-manager/secretsLoader.nix | 6 - home-manager/spicetify.nix | 2 +- home-manager/yazi/default.nix | 4 +- modules/default.nix | 2 +- modules/development.nix | 42 ---- modules/development/default.nix | 24 ++ modules/development/docker.nix | 10 + modules/development/dotnet.nix | 9 + modules/development/nix.nix | 11 + modules/development/node.nix | 10 + modules/development/ollama.nix | 6 + modules/development/rust.nix | 9 + modules/fonts.nix | 26 +-- modules/gnome/nautilus.nix | 6 +- modules/locale.nix | 3 +- modules/networking.nix | 5 +- modules/sddm.nix | 3 +- 40 files changed, 214 insertions(+), 332 deletions(-) delete mode 100644 home-manager/secretsLoader.nix delete mode 100644 modules/development.nix create mode 100644 modules/development/default.nix create mode 100644 modules/development/docker.nix create mode 100644 modules/development/dotnet.nix create mode 100644 modules/development/nix.nix create mode 100644 modules/development/node.nix create mode 100644 modules/development/ollama.nix create mode 100644 modules/development/rust.nix diff --git a/common.nix b/common.nix index 3efff0d..fc40656 100644 --- a/common.nix +++ b/common.nix @@ -33,4 +33,7 @@ rec { # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.version = "24.11"; + + loadSecret = + lib: filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath)); } diff --git a/configuration.nix b/configuration.nix index 2165d84..0295833 100644 --- a/configuration.nix +++ b/configuration.nix @@ -49,7 +49,7 @@ in nix-prefetch-github # Cmd to get rev and hash from GitHub gimp vlc - vdhcoapp + vdhcoapp # TODO run "vdhcoapp install" on startup onlyoffice-desktopeditors ]; diff --git a/flake.lock b/flake.lock index af3edba..195efe2 100644 --- a/flake.lock +++ b/flake.lock @@ -49,11 +49,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1739283129, - "narHash": "sha256-GXJllf1wY7tOF6uei9S3PnSEghFbnJP1vkxM0kkMOoI=", + "lastModified": 1741424456, + "narHash": "sha256-46m7KqjSoabM5JdqP8Om9+PWioRy0uU746MZuLyw/6o=", "owner": "catppuccin", "repo": "nix", - "rev": "d4e258e29075a86a82dacaf4f5e0985935ae4658", + "rev": "dc7e553e91c37cec5083ac5cfaff6a28565d1334", "type": "github" }, "original": { @@ -62,41 +62,6 @@ "type": "github" } }, - "devshell": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1735644329, - "narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=", - "owner": "numtide", - "repo": "devshell", - "rev": "f7795ede5b02664b57035b3b757876703e2c3eac", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "devshell", - "type": "github" - } - }, - "flake-compat": { - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "revCount": 69, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -136,54 +101,6 @@ "type": "github" } }, - "git-hooks": { - "inputs": { - "flake-compat": [ - "nixvim", - "flake-compat" - ], - "gitignore": "gitignore", - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "nixvim", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -191,11 +108,11 @@ ] }, "locked": { - "lastModified": 1739570999, - "narHash": "sha256-eCc0/Q4bPpe4/AS+uzIrHLJcR6BxPQ69q2kD0/Qe6rU=", + "lastModified": 1739757849, + "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "254d47082e23dbf72fdeca1da6fe1da420f478d8", + "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe", "type": "github" }, "original": { @@ -205,40 +122,17 @@ "type": "github" } }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738878603, - "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "hyprpanel": { "inputs": { "ags": "ags", - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1739606511, - "narHash": "sha256-ywkv5Pm6p4Taavp3yX9SjoLVf/mIHS3fRXSHjXqaJHQ=", + "lastModified": 1740863579, + "narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=", "owner": "Jas-SinghFSU", "repo": "HyprPanel", - "rev": "c309a73d2d9821c90864447058b627c02bd82165", + "rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd", "type": "github" }, "original": { @@ -275,34 +169,13 @@ "type": "github" } }, - "nix-darwin": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738743987, - "narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=", - "owner": "lnl7", - "repo": "nix-darwin", - "rev": "ae406c04577ff9a64087018c79b4fdc02468c87c", - "type": "github" - }, - "original": { - "owner": "lnl7", - "repo": "nix-darwin", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", "type": "github" }, "original": { @@ -314,11 +187,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1740560979, - "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5135c59491985879812717f4c9fea69604e7f26f", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", "type": "github" }, "original": { @@ -330,11 +203,27 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739357830, - "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1741332913, + "narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "20755fa05115c84be00b04690630cb38f0a203ad", "type": "github" }, "original": { @@ -344,7 +233,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1735471104, "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", @@ -362,24 +251,18 @@ }, "nixvim": { "inputs": { - "devshell": "devshell", - "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "git-hooks": "git-hooks", - "home-manager": "home-manager_2", - "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs-unstable" ], - "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix" + "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1739527837, - "narHash": "sha256-dsb5iSthp5zCWhdV0aXPunFSCkS0pCvRXMMgTEFjzew=", + "lastModified": 1741098523, + "narHash": "sha256-gXDSXDr6tAb+JgxGMvcEjKC9YO8tVOd8hMMZHJLyQ6Q=", "owner": "nix-community", "repo": "nixvim", - "rev": "a39e0a651657046f3b936d842147fa51523b6818", + "rev": "03065fd4708bfdf47dd541d655392a60daa25ded", "type": "github" }, "original": { @@ -416,7 +299,7 @@ "catppuccin": "catppuccin", "home-manager": "home-manager", "hyprpanel": "hyprpanel", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable", "nixvim": "nixvim", "spicetify-nix": "spicetify-nix", @@ -431,11 +314,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1739223162, - "narHash": "sha256-YrbYTM0CkZQG38Ysr2gF4BYdsQDNQtQ4YdQTDgw/zWM=", + "lastModified": 1741493656, + "narHash": "sha256-1M2mf5pZTlhZXkSI8wKs9GfNb1hllND58zQUYSAe8EA=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "dea717737d04a2a3e877c082bfd2c7f91c1a33ff", + "rev": "a06e502c884307c33dbdf2017fd50ab3592ad868", "type": "github" }, "original": { @@ -474,37 +357,16 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738680491, - "narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "64dbb922d51a42c0ced6a7668ca008dded61c483", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "zen-browser": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1740554227, - "narHash": "sha256-xpwZeMw2gGenixGQDyVv+ja+epcR+EJ1BPuGFdgFS18=", + "lastModified": 1741450391, + "narHash": "sha256-zEFEI2RWmxYS5EZTlA8VnX5X7AueDKpXF2IjJx+dyKE=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "7de16ae319e6f6852274fa90b0d41c00049767c9", + "rev": "6dceddfe8e1691607eaa8d9f12f33ab6a5acea82", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a7484f5..50700fa 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,6 @@ }; hyprpanel = { url = "github:Jas-SinghFSU/HyprPanel"; - inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; @@ -40,6 +39,7 @@ pkgs = nixpkgs.legacyPackages.${system}; inherit (self) outputs; common = import ./common.nix; + theme = import ./theme.nix; in { defaultPackage.${system} = home-manager.defaultPackage.${system}; @@ -48,6 +48,8 @@ devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ just + git + git-crypt nh ]; }; @@ -57,7 +59,14 @@ nixosConfigurations.${common.hostname} = nixpkgs.lib.nixosSystem { system = system; - specialArgs = { inherit outputs inputs; }; # Pass args to modules + specialArgs = { + inherit + outputs + inputs + common + theme + ; + }; # Pass args to modules modules = [ ./configuration.nix home-manager.nixosModules.home-manager @@ -68,7 +77,7 @@ useGlobalPkgs = true; useUserPackages = true; # Passes inputs as an argument to home-manager - extraSpecialArgs = { inherit inputs; }; + extraSpecialArgs = { inherit inputs common theme; }; users.${common.username} = import ./home-manager; }; } diff --git a/home-manager/btop.nix b/home-manager/btop.nix index 3d146b5..244856c 100644 --- a/home-manager/btop.nix +++ b/home-manager/btop.nix @@ -1,6 +1,5 @@ -let - theme = import ../theme.nix; -in +{ theme, ... }: + { catppuccin.btop = { enable = true; diff --git a/home-manager/cava/default.nix b/home-manager/cava/default.nix index 661c02b..f0d4b07 100644 --- a/home-manager/cava/default.nix +++ b/home-manager/cava/default.nix @@ -1,9 +1,6 @@ ## Audio visualizer -{ pkgs, ... }: +{ pkgs, theme, ... }: -let - theme = import ../../theme.nix; -in { catppuccin.cava = { enable = true; @@ -20,7 +17,7 @@ in genericName = "Audio visualizer"; terminal = true; exec = "${pkgs.cava}/bin/cava"; - icon = ./cava.png; + icon = ./cava.png; # TODO icon not displaying in runner categories = [ "Audio" "AudioVideo" diff --git a/home-manager/cursors.nix b/home-manager/cursors.nix index d0ad7b9..6ae2f52 100644 --- a/home-manager/cursors.nix +++ b/home-manager/cursors.nix @@ -1,6 +1,5 @@ -let - theme = import ../theme.nix; -in +{ theme, ... }: + { catppuccin.cursors = { enable = true; diff --git a/home-manager/default.nix b/home-manager/default.nix index e7e716a..820457f 100644 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -1,10 +1,10 @@ { pkgs, inputs, + common, ... }: let - common = import ../common.nix; username = common.username; dir = common.dir; in @@ -26,7 +26,7 @@ in ./rofi ./wlogout ./hyprland - ./spicetify.nix # TODO env conflict on latest version + ./spicetify.nix ./yazi ./zen ]; diff --git a/home-manager/development/git.nix b/home-manager/development/git.nix index dc7673c..f88ea91 100644 --- a/home-manager/development/git.nix +++ b/home-manager/development/git.nix @@ -17,6 +17,7 @@ amend = "commit --amend"; cm = "commit"; s = "status"; + p = "push"; }; signing = { diff --git a/home-manager/development/zed.nix b/home-manager/development/zed.nix index d74bb74..44255cd 100644 --- a/home-manager/development/zed.nix +++ b/home-manager/development/zed.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, theme, ... }: { programs.zed-editor = { @@ -15,7 +15,6 @@ ]; userSettings = let - theme = import ../../theme.nix; font = "${theme.nerdFont} Nerd Font"; fontSize = 14; in @@ -31,7 +30,7 @@ base_keymap = "JetBrains"; buffer_font_family = font; features = { - inline_completion_provider = "zed"; + edit_completion_provider = "zed"; }; icon_theme = "Catppuccin Mocha"; # icon_theme = { TODO replace icon theme above with below diff --git a/home-manager/fastfetch.nix b/home-manager/fastfetch.nix index 3da66cf..c22ee20 100644 --- a/home-manager/fastfetch.nix +++ b/home-manager/fastfetch.nix @@ -1,6 +1,7 @@ { programs = { fish.shellAliases.fetch = "fastfetch"; + fastfetch = { enable = true; settings = { diff --git a/home-manager/fish.nix b/home-manager/fish.nix index 7611f35..4cec0bc 100644 --- a/home-manager/fish.nix +++ b/home-manager/fish.nix @@ -1,7 +1,5 @@ -{ pkgs, ... }: -let - theme = import ../theme.nix; -in +{ pkgs, theme, ... }: + { catppuccin = { fish = { @@ -36,7 +34,7 @@ in } ]; shellAliases = { - nix-shell = "nix-shell --run fish"; # Start nix-shells using fishcd + nix-shell = "nix-shell --run fish"; # Start nix-shells using fish }; }; diff --git a/home-manager/gtk.nix b/home-manager/gtk.nix index 4a766d8..9a179e6 100644 --- a/home-manager/gtk.nix +++ b/home-manager/gtk.nix @@ -1,11 +1,11 @@ -let - theme = import ../theme.nix; -in +{ theme, ... }: + { - gtk.enable = true; catppuccin.gtk = { enable = true; flavor = theme.flavor; icon.enable = true; }; + + gtk.enable = true; } diff --git a/home-manager/hyprland/binds.nix b/home-manager/hyprland/binds.nix index d9e3b82..e0cf12a 100644 --- a/home-manager/hyprland/binds.nix +++ b/home-manager/hyprland/binds.nix @@ -1,9 +1,8 @@ +{ common, ... }: let - common = import ../../common.nix; app = common.default; in { - # TODO binds to move focused window wayland.windowManager.hyprland.settings = { "$mainMod" = "SUPER"; "$shiftMod" = "$mainMod SHIFT"; diff --git a/home-manager/hyprland/hyprlock/default.nix b/home-manager/hyprland/hyprlock/default.nix index 2ff5a52..3a22ec8 100644 --- a/home-manager/hyprland/hyprlock/default.nix +++ b/home-manager/hyprland/hyprlock/default.nix @@ -1,8 +1,8 @@ -{ lib, ... }: -let - theme = import ../../../theme.nix; -in +{ lib, theme, ... }: + { + # TODO use catppuccin package + programs.hyprlock = { enable = true; settings = { diff --git a/home-manager/hyprland/hyprpanel/default.nix b/home-manager/hyprland/hyprpanel/default.nix index 7aced3b..9719794 100644 --- a/home-manager/hyprland/hyprpanel/default.nix +++ b/home-manager/hyprland/hyprpanel/default.nix @@ -1,14 +1,12 @@ { pkgs, inputs, + common, + theme, lib, ... }: -let - common = import ../../../common.nix; - theme = import ../../../theme.nix; - loader = import ../../secretsLoader.nix lib; -in + { imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ]; @@ -81,7 +79,7 @@ in weather = { unit = "metric"; location = "Bergen, Norway"; - key = loader.loadSecret ../../secrets/weather-api-key; + key = common.loadSecret lib ../../secrets/weather-api-key; }; }; @@ -92,7 +90,7 @@ in shortcut1 = { command = common.default.browser; icon = ""; # TODO replace with Zen icon - tooltip = "Zen"; + tooltip = "Zen Browser"; }; shortcut2 = { command = "spotify"; diff --git a/home-manager/hyprland/hyprpaper.nix b/home-manager/hyprland/hyprpaper.nix index 5d32197..0c4eee1 100644 --- a/home-manager/hyprland/hyprpaper.nix +++ b/home-manager/hyprland/hyprpaper.nix @@ -1,8 +1,6 @@ # Wallpapers -{ pkgs, ... }: -let - common = import ../../common.nix; -in +{ pkgs, common, ... }: + { home.packages = with pkgs; [ hyprpaper diff --git a/home-manager/hyprland/hyprshot.nix b/home-manager/hyprland/hyprshot.nix index 67dbb6b..669e2eb 100644 --- a/home-manager/hyprland/hyprshot.nix +++ b/home-manager/hyprland/hyprshot.nix @@ -1,6 +1,5 @@ -let - common = import ../../common.nix; -in +{ common, ... }: + { wayland.windowManager.hyprland.settings = { "$mainMod" = "SUPER"; diff --git a/home-manager/hyprland/settings.nix b/home-manager/hyprland/settings.nix index 195c3df..233ba8f 100644 --- a/home-manager/hyprland/settings.nix +++ b/home-manager/hyprland/settings.nix @@ -1,7 +1,10 @@ -{ lib, ... }: +{ + lib, + common, + theme, + ... +}: let - common = import ../../common.nix; - theme = import ../../theme.nix; app = common.default; in { diff --git a/home-manager/hyprland/swaync/default.nix b/home-manager/hyprland/swaync/default.nix index 1b624ec..49986b8 100644 --- a/home-manager/hyprland/swaync/default.nix +++ b/home-manager/hyprland/swaync/default.nix @@ -1,7 +1,5 @@ -{ lib, ... }: -let - theme = import ../../../theme.nix; -in +{ lib, theme, ... }: + { services.swaync = { enable = false; diff --git a/home-manager/kitty.nix b/home-manager/kitty.nix index 4316146..d1d57f4 100644 --- a/home-manager/kitty.nix +++ b/home-manager/kitty.nix @@ -1,7 +1,5 @@ -let - common = import ../common.nix; - theme = import ../theme.nix; -in +{ common, theme, ... }: + { catppuccin.kitty = { enable = true; diff --git a/home-manager/mpv.nix b/home-manager/mpv.nix index ef88358..8240c77 100644 --- a/home-manager/mpv.nix +++ b/home-manager/mpv.nix @@ -1,12 +1,10 @@ +{ theme, ... }: + { - catppuccin.mpv = - let - theme = import ../theme.nix; - in - { - enable = true; - flavor = theme.flavor; - }; + catppuccin.mpv = { + enable = true; + flavor = theme.flavor; + }; programs = { fish.shellAliases.mpvl = "mpv --profile=loop"; diff --git a/home-manager/rofi/default.nix b/home-manager/rofi/default.nix index 3e64236..e703144 100644 --- a/home-manager/rofi/default.nix +++ b/home-manager/rofi/default.nix @@ -15,6 +15,7 @@ ".config/rofimoji.rc".source = ./rofimoji.rc; }; + # TODO use catppuccin package # TODO Use programs.rofi. Theme is not applied correctly # programs.rofi = { # enable = true; diff --git a/home-manager/secretsLoader.nix b/home-manager/secretsLoader.nix deleted file mode 100644 index 6ab9e0f..0000000 --- a/home-manager/secretsLoader.nix +++ /dev/null @@ -1,6 +0,0 @@ -lib: - -{ - loadSecret = - filePath: lib.strings.trim (lib.strings.removeSuffix "\n" (builtins.readFile filePath)); -} diff --git a/home-manager/spicetify.nix b/home-manager/spicetify.nix index 758b9dc..63ac78c 100644 --- a/home-manager/spicetify.nix +++ b/home-manager/spicetify.nix @@ -2,6 +2,7 @@ pkgs, inputs, lib, + theme, ... }: @@ -10,7 +11,6 @@ programs.spicetify = let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; - theme = import ../theme.nix; in { enable = true; diff --git a/home-manager/yazi/default.nix b/home-manager/yazi/default.nix index 8376601..589d8b8 100644 --- a/home-manager/yazi/default.nix +++ b/home-manager/yazi/default.nix @@ -1,9 +1,9 @@ -{ lib, ... }: +{ lib, theme, ... }: let - theme = import ../../theme.nix; batTheme = ".config/yazi/catppuccin-${theme.flavor}.tmTheme"; in { + # TODO use catppuccin theme home.file.${batTheme}.source = ./catppuccin-mocha.tmTheme; programs.yazi = { diff --git a/modules/default.nix b/modules/default.nix index 6db9ad7..5999ba5 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,6 +1,6 @@ { imports = [ - ./development.nix + ./development ./fonts.nix ./gaming ./gnome diff --git a/modules/development.nix b/modules/development.nix deleted file mode 100644 index dc6e587..0000000 --- a/modules/development.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ pkgs, ... }: - -{ - environment.systemPackages = with pkgs; [ - # IDEs - jetbrains.rust-rover - jetbrains.webstorm - jetbrains.rider - vscodium # TODO set up extensions - # Tools - dotnet-sdk_9 - dotnet-aspnetcore_9 - git - rustup - nodejs_22 - pnpm - just - gcc # Required for C, Rust and others - # Language servers - nixd - nil - # Formatters - nixfmt-rfc-style - treefmt - nodePackages.prettier - shfmt - ]; - - virtualisation.docker = { - enable = true; - storageDriver = "btrfs"; - rootless = { - enable = true; - setSocketVariable = true; - }; - }; - - services.ollama = { - enable = true; - acceleration = "cuda"; - }; -} diff --git a/modules/development/default.nix b/modules/development/default.nix new file mode 100644 index 0000000..11daf6f --- /dev/null +++ b/modules/development/default.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: + +{ + imports = [ + ./docker.nix + ./dotnet.nix + ./nix.nix + ./node.nix + ./ollama.nix + ./rust.nix + ]; + + environment.systemPackages = with pkgs; [ + # IDEs + vscodium # TODO set up extensions + # Tools + git + just + unstable.libpq # Required for PostgreSQL + # Formatters + treefmt + shfmt + ]; +} diff --git a/modules/development/docker.nix b/modules/development/docker.nix new file mode 100644 index 0000000..a625528 --- /dev/null +++ b/modules/development/docker.nix @@ -0,0 +1,10 @@ +{ + virtualisation.docker = { + enable = true; + storageDriver = "btrfs"; + rootless = { + enable = true; + setSocketVariable = true; + }; + }; +} diff --git a/modules/development/dotnet.nix b/modules/development/dotnet.nix new file mode 100644 index 0000000..656d0d9 --- /dev/null +++ b/modules/development/dotnet.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + jetbrains.rider + dotnet-sdk_9 + dotnet-aspnetcore_9 + ]; +} diff --git a/modules/development/nix.nix b/modules/development/nix.nix new file mode 100644 index 0000000..ae6acd3 --- /dev/null +++ b/modules/development/nix.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + # Language servers + nixd + nil + # Formatters + nixfmt-rfc-style + ]; +} diff --git a/modules/development/node.nix b/modules/development/node.nix new file mode 100644 index 0000000..b7ad29f --- /dev/null +++ b/modules/development/node.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + jetbrains.webstorm + nodejs_22 + pnpm + nodePackages.prettier + ]; +} diff --git a/modules/development/ollama.nix b/modules/development/ollama.nix new file mode 100644 index 0000000..d737250 --- /dev/null +++ b/modules/development/ollama.nix @@ -0,0 +1,6 @@ +{ + services.ollama = { + enable = true; + acceleration = "cuda"; + }; +} diff --git a/modules/development/rust.nix b/modules/development/rust.nix new file mode 100644 index 0000000..0b6e726 --- /dev/null +++ b/modules/development/rust.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + jetbrains.rust-rover + rustup + gcc + ]; +} diff --git a/modules/fonts.nix b/modules/fonts.nix index c201c85..260486a 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -1,23 +1,19 @@ -{ pkgs, ... }: +{ pkgs, theme, ... }: { environment.systemPackages = with pkgs; [ font-awesome # Icons ]; - fonts = - let - theme = import ../theme.nix; - in - { - fontconfig.enable = true; - packages = with pkgs; [ - (nerdfonts.override { fonts = [ theme.nerdFont ]; }) - jetbrains-mono - # The line below will replace the lines above in 25.05 - # nerd-fonts.jetbrains-mono - font-awesome - ]; - }; + fonts = { + fontconfig.enable = true; + packages = with pkgs; [ + (nerdfonts.override { fonts = [ theme.nerdFont ]; }) + jetbrains-mono + # The line below will replace the lines above in 25.05 + # nerd-fonts.jetbrains-mono + font-awesome + ]; + }; } diff --git a/modules/gnome/nautilus.nix b/modules/gnome/nautilus.nix index 523bb95..ea0ca6b 100644 --- a/modules/gnome/nautilus.nix +++ b/modules/gnome/nautilus.nix @@ -1,7 +1,5 @@ -{ pkgs, ... }: -let - common = import ../../common.nix; -in +{ pkgs, common, ... }: + { environment.systemPackages = with pkgs; [ nautilus diff --git a/modules/locale.nix b/modules/locale.nix index 08677ca..af18b50 100644 --- a/modules/locale.nix +++ b/modules/locale.nix @@ -1,9 +1,8 @@ -# TODO move locale config for hyprland here +{ common, ... }: let utf-8 = "UTF-8"; en = "en_GB.${utf-8}"; nb = "nb_NO.${utf-8}"; - common = import ../common.nix; in { # Configure console keymap diff --git a/modules/networking.nix b/modules/networking.nix index 23db0c6..f883c5a 100644 --- a/modules/networking.nix +++ b/modules/networking.nix @@ -1,6 +1,5 @@ -let - common = import ../common.nix; -in +{ common, ... }: + { networking = { networkmanager.enable = true; diff --git a/modules/sddm.nix b/modules/sddm.nix index ea1ef65..f481f12 100644 --- a/modules/sddm.nix +++ b/modules/sddm.nix @@ -1,6 +1,5 @@ -{ pkgs, ... }: +{ pkgs, theme, ... }: let - theme = import ../theme.nix; flavor = theme.flavor; in {