diff --git a/flake.lock b/flake.lock index 27cd225..76cb303 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,22 @@ "type": "github" } }, + "base16-schemes": { + "flake": false, + "locked": { + "lastModified": 1689473676, + "narHash": "sha256-L0RhUr9+W5EPWBpLcmkKpUeCEWRs/kLzVMF3Vao2ZU0=", + "owner": "tinted-theming", + "repo": "base16-schemes", + "rev": "d95123ca6377cd849cfdce92c0a24406b0c6a789", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-schemes", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -118,6 +134,25 @@ "type": "github" } }, + "nix-colors": { + "inputs": { + "base16-schemes": "base16-schemes", + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1695388192, + "narHash": "sha256-2jelpE7xK+4M7jZNyWL7QYOYegQLYBDQS5bvdo8XRUQ=", + "owner": "misterio77", + "repo": "nix-colors", + "rev": "37227f274b34a3b51649166deb94ce7fec2c6a4c", + "type": "github" + }, + "original": { + "owner": "misterio77", + "repo": "nix-colors", + "type": "github" + } + }, "nixinate": { "inputs": { "nixpkgs": "nixpkgs_2" @@ -190,6 +225,21 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1694911725, + "narHash": "sha256-8YqI+YU1DGclEjHsnrrGfqsQg3Wyga1DfTbJrN3Ud0c=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "819180647f428a3826bfc917a54449da1e532ce0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { "lastModified": 1702151865, @@ -241,6 +291,7 @@ "inputs": { "agenix": "agenix", "home-manager": "home-manager_2", + "nix-colors": "nix-colors", "nixinate": "nixinate", "nixos-hardware": "nixos-hardware", "nixos-wsl": "nixos-wsl", diff --git a/flake.nix b/flake.nix index aabd45a..f1bc4a9 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nixinate.url = "github:matthewcroughan/nixinate"; + nix-colors.url = "github:misterio77/nix-colors"; }; outputs = { self, nixpkgs, @@ -24,6 +25,7 @@ agenix, home-manager, nixinate, + nix-colors, }@inputs: let system = "x86_64-linux"; @@ -101,8 +103,7 @@ }; modules = [ ### User specific ### - ./users/option.nix - ./users/kopatz.nix + ./users/kopatz ### System modules ### ./modules/graphical/plasma.nix ./modules/graphical/hyprland.nix @@ -140,11 +141,11 @@ ## Custom variables (e.g. ip, interface, etc) vars = import ./systems/userdata-default.nix // import ./systems/laptop/userdata.nix; inherit inputs; + inherit nix-colors; }; modules = [ ### User specific ### - ./users/option.nix - ./users/kopatz.nix + ./users/kopatz ({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-unstable ]; }) # Todo: refactor file layout ./modules/graphical/hyprland.nix diff --git a/home-manager/code.nix b/home-manager/code.nix index 26f9632..2c50a20 100644 --- a/home-manager/code.nix +++ b/home-manager/code.nix @@ -1,14 +1,11 @@ - -{ user, pkgs, ... }: +{ config, pkgs, inputs, ...}: { - home-manager.users.${user} = { - programs.vscode = { - enable = true; - package = pkgs.vscodium; - extensions = with pkgs.vscode-extensions; [ - jnoortheen.nix-ide - rust-lang.rust-analyzer - ]; - }; + programs.vscode = { + enable = true; + package = pkgs.vscodium; + extensions = with pkgs.vscode-extensions; [ + jnoortheen.nix-ide + rust-lang.rust-analyzer + ]; }; } diff --git a/home-manager/direnv.nix b/home-manager/direnv.nix index d6e7f18..6f228fe 100644 --- a/home-manager/direnv.nix +++ b/home-manager/direnv.nix @@ -1,10 +1,8 @@ -{ user, pkgs, ... }: +{ config, pkgs, inputs, ...}: { - home-manager.users.${user} = { programs.direnv = { enable = true; enableZshIntegration = true; nix-direnv.enable = true; }; - }; } diff --git a/home-manager/gtk-theme.nix b/home-manager/gtk-theme.nix index e58ef5d..680716c 100644 --- a/home-manager/gtk-theme.nix +++ b/home-manager/gtk-theme.nix @@ -1,6 +1,5 @@ -{ user, pkgs, ... }: +{ config, pkgs, inputs, ...}: { - home-manager.users.${user} = { gtk = { enable = true; theme = { @@ -12,5 +11,4 @@ name = "Breeze-gtk"; }; }; - }; } diff --git a/home-manager/lf.nix b/home-manager/lf.nix index 8071904..7608f35 100644 --- a/home-manager/lf.nix +++ b/home-manager/lf.nix @@ -1,6 +1,5 @@ -{ user, pkgs, ... }: +{ config, pkgs, inputs, ...}: { - home-manager.users.${user} = { programs.lf = { enable = true; previewer.source = pkgs.writeShellScript "pv.sh" '' @@ -14,5 +13,4 @@ esac ''; }; - }; } diff --git a/home-manager/nvim.nix b/home-manager/nvim.nix index b8bd923..4468743 100644 --- a/home-manager/nvim.nix +++ b/home-manager/nvim.nix @@ -1,6 +1,5 @@ -{ user, pkgs, ... }: +{ config, pkgs, inputs, ...}: { - home-manager.users.${user} = { home.file.".config/nvim" = { enable = true; recursive = true; @@ -21,5 +20,4 @@ ccls ]; }; - }; } diff --git a/home-manager/zsh.nix b/home-manager/zsh.nix index e6ba061..3f10858 100644 --- a/home-manager/zsh.nix +++ b/home-manager/zsh.nix @@ -1,6 +1,5 @@ -{ user, pkgs, ... }: +{ config, pkgs, inputs, ...}: { - home-manager.users.${user} = { programs.zsh = { enable = true; enableCompletion = true; @@ -15,5 +14,4 @@ theme = "eastwood"; }; }; - }; } diff --git a/users/default.nix b/users/default.nix new file mode 100644 index 0000000..cf93191 --- /dev/null +++ b/users/default.nix @@ -0,0 +1,17 @@ +{ inputs +, pkgs +, lib +, config +, ... +}: +{ + imports = [ ./option.nix ]; + home-manager = { + useGlobalPkgs = true; + extraSpecialArgs = { + inherit inputs; + headless = false; + }; + useUserPackages = true; + }; +} diff --git a/users/kopatz.nix b/users/kopatz.nix deleted file mode 100644 index 7ae19d3..0000000 --- a/users/kopatz.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ pkgs, inputs, vars, ... }: -let - user = "kopatz"; -in -{ - imports = [ - (import ../home-manager/nvim.nix ({ user="${user}"; pkgs = pkgs; })) - (import ../home-manager/code.nix ({ user="${user}"; pkgs = pkgs; })) - (import ../home-manager/zsh.nix ({ user="${user}"; pkgs = pkgs; })) - (import ../home-manager/gtk-theme.nix ({ user="${user}"; pkgs = pkgs; })) - (import ../home-manager/direnv.nix ({ user="${user}"; pkgs = pkgs; })) - (import ../home-manager/lf.nix ({ user="${user}"; pkgs = pkgs; })) - ]; - - mainUser.name = user; - home-manager = { - useGlobalPkgs = true; - extraSpecialArgs = { - inherit inputs; - headless = false; - }; - useUserPackages = true; - users.${user} = { - programs.git.enable = true; - home.stateVersion = "23.05"; - }; - }; - - programs.zsh.enable = true; - users.users.${user} = { - isNormalUser = true; - description = user; - shell = pkgs.zsh; - extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" ]; - packages = with pkgs; [ - (discord.override { withVencord = true; }) - librewolf - brave - ]; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeP6qtVqE/gu72ZUZE8cdRi3INiUW9NqDR7SjXIzTw2 lukas" - ]; - }; -} diff --git a/users/kopatz/default.nix b/users/kopatz/default.nix new file mode 100644 index 0000000..529e42e --- /dev/null +++ b/users/kopatz/default.nix @@ -0,0 +1,30 @@ +{ inputs +, pkgs +, lib +, config +, ... +}: +{ + imports = [ ../default.nix ]; + mainUser.name = "kopatz"; + + home-manager = { + users.${config.mainUser.name} = import ./home.nix; + }; + + programs.zsh.enable = true; + users.users.${config.mainUser.name} = { + isNormalUser = true; + description = config.mainUser.name; + shell = pkgs.zsh; + extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" ]; + packages = with pkgs; [ + (discord.override { withVencord = true; }) + librewolf + brave + ]; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFeP6qtVqE/gu72ZUZE8cdRi3INiUW9NqDR7SjXIzTw2 lukas" + ]; + }; +} diff --git a/users/kopatz/home.nix b/users/kopatz/home.nix new file mode 100644 index 0000000..f886526 --- /dev/null +++ b/users/kopatz/home.nix @@ -0,0 +1,34 @@ +{ config, pkgs, inputs, ...}: +{ + home = { + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + stateVersion = "23.05"; + }; + programs.kitty = { + enable = true; + settings = { + foreground = "#${config.colorScheme.colors.base05}"; + background = "#${config.colorScheme.colors.base00}"; + # ... + }; + }; + + imports = [ + ../../home-manager/nvim.nix + ../../home-manager/code.nix + ../../home-manager/zsh.nix + ../../home-manager/gtk-theme.nix + ../../home-manager/direnv.nix + ../../home-manager/lf.nix + inputs.nix-colors.homeManagerModule + ]; + + colorScheme = inputs.nix-colors.colorSchemes.tokyo-night-dark; +}