diff --git a/features-nixos/optional/greetd.nix b/features-nixos/optional/greetd.nix index 0d55e74..9b46f35 100644 --- a/features-nixos/optional/greetd.nix +++ b/features-nixos/optional/greetd.nix @@ -1,7 +1,4 @@ -{config, ...}: let - homeCfgs = config.home-manager.users; - julianCfg = homeCfgs.julian; -in { +{ users.extraUsers.greeter = { # For caching home = "/tmp/greeter-home"; @@ -10,12 +7,12 @@ in { programs.regreet = { enable = true; - iconTheme = julianCfg.gtk.iconTheme; - theme = julianCfg.gtk.theme; - # font = julianCfg.fontProfiles.regular; # TODO: do - cursorTheme = { - inherit (julianCfg.gtk.cursorTheme) name package; - }; + # iconTheme = julianCfg.gtk.iconTheme; + # theme = julianCfg.gtk.theme; + # # font = julianCfg.fontProfiles.regular; # TODO: do + # cursorTheme = { + # inherit (julianCfg.gtk.cursorTheme) name package; + # }; cageArgs = [ "-s" "-m" diff --git a/flake.lock b/flake.lock index cfdbd8d..0e967eb 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,73 @@ { "nodes": { + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1765809053, + "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1776754714, + "narHash": "sha256-E3OAK27smtATTmX45uoTSRsVD+Y+ZiVVfgM/tjpbtYg=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "4d508123037e7851ad36ebf7d9c48b0e9e1eb581", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1736101677, @@ -55,6 +123,22 @@ "type": "github" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1779670703, + "narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -108,6 +192,27 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_2" @@ -162,6 +267,39 @@ "type": "github" } }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1767737596, + "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", + "type": "github" + }, + "original": { + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -492,6 +630,31 @@ "type": "github" } }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1779766384, + "narHash": "sha256-P7Ohnlq8b8b2fU+Sgkrej7LBTM60LBTkHleLuYzmLmU=", + "owner": "nix-community", + "repo": "NUR", + "rev": "57800b7ab648725ccd33551d01484ee14952ad3f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "root": { "inputs": { "deploy-rs": "deploy-rs", @@ -509,7 +672,8 @@ "nixvim": "nixvim", "sheet-organizer": "sheet-organizer", "sops-nix": "sops-nix", - "systems": "systems_6", + "stylix": "stylix", + "systems": "systems_7", "yazi-flavors": "yazi-flavors" } }, @@ -555,6 +719,39 @@ "type": "github" } }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_2", + "gnome-shell": "gnome-shell", + "nixpkgs": [ + "nixpkgs" + ], + "nur": "nur", + "systems": "systems_6", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1780256506, + "narHash": "sha256-wEXN/OoZt9HfsKBL6694p2Y9xRlwfUbdn/M107U8fVU=", + "owner": "nix-community", + "repo": "stylix", + "rev": "8ed48a41087feeb66372ff718021a9512fc552b3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -631,6 +828,21 @@ } }, "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_7": { "locked": { "lastModified": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -645,6 +857,70 @@ "type": "github" } }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1777806186, + "narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1778379944, + "narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "fe0203a198690e71a5ff11e08812a4673de3678d", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1778378178, + "narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "9cd816033ff969415b190722cddf134e78a5665f", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems" diff --git a/flake.nix b/flake.nix index 35f2afb..b4541ce 100644 --- a/flake.nix +++ b/flake.nix @@ -9,6 +9,11 @@ impermanence.url = "github:nix-community/impermanence"; deploy-rs.url = "github:serokell/deploy-rs"; + stylix = { + url = "github:nix-community/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; diff --git a/homes/julian/features/fish/default.nix b/homes/julian/features/fish/default.nix index 63fe542..9654260 100644 --- a/homes/julian/features/fish/default.nix +++ b/homes/julian/features/fish/default.nix @@ -5,7 +5,7 @@ }: with lib; { home.file = { - ".config/starship.toml".source = ./starship.toml; + # ".config/starship.toml".source = ./starship.toml; ".config/fish/conf.d/last-working-dir.fish".source = ./last-working-dir.fish; }; diff --git a/homes/julian/features/hyprland/default.nix b/homes/julian/features/hyprland/default.nix index 7aea0e5..95d567f 100644 --- a/homes/julian/features/hyprland/default.nix +++ b/homes/julian/features/hyprland/default.nix @@ -211,9 +211,6 @@ gaps_out = 5; layout = "dwindle"; - - # "col.active_border" = "0xff${palette.base0C} 0xff${palette.base0D} 270deg"; - # "col.inactive_border" = "0xff${palette.base00}"; }; decoration = { @@ -253,7 +250,7 @@ }; exec = [ - "hyprctl setcursor ${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}" + # "hyprctl setcursor ${config.gtk.cursorTheme.name} ${toString config.gtk.cursorTheme.size}" "correct-workspace-locations" ]; @@ -442,18 +439,6 @@ "$mod SHIFT,W,exec,${makoctl} restore" ] ); - - # plugin = { - # hyprbars = { - # bar_text_size = 10; - # bar_height = 16; - # bar_text_font = "Ubuntu Nerd Font"; - # bar_precedence_over_border = true; - # bar_color = "rgb(${palette.base01})"; - - # hyprbars-button = [ "rgb(${palette.base03}), 14, 󰖭, hyprctl dispatch killactive" ]; - # }; - # }; }; }; } diff --git a/homes/julian/features/hyprland/hyprlock/default.nix b/homes/julian/features/hyprland/hyprlock/default.nix index 0f5bde3..f0d5354 100644 --- a/homes/julian/features/hyprland/hyprlock/default.nix +++ b/homes/julian/features/hyprland/hyprlock/default.nix @@ -1,15 +1,5 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: let - inherit - (inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name}) - palette - ; +{config, ...}: let + palette = config.lib.stylix.colors; in { programs.hyprlock.enable = true; programs.hyprlock.settings = { diff --git a/homes/julian/features/hyprland/mako/default.nix b/homes/julian/features/hyprland/mako/default.nix index ba836b7..7fd4b8f 100644 --- a/homes/julian/features/hyprland/mako/default.nix +++ b/homes/julian/features/hyprland/mako/default.nix @@ -1,30 +1,10 @@ -{ - options, - config, - lib, - pkgs, - inputs, - ... -}: let - inherit - (inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name}) - palette - ; -in { +{pkgs, ...}: { home.packages = with pkgs; [libnotify]; services.mako = { enable = true; settings = { defaultTimeout = "5000"; # milliseconds, can be overwritten by notification sender - backgroundColor = "#${palette.base00}"; - textColor = "#${palette.base05}"; - borderColor = "#${palette.base0D}"; - progressColor = "over #${palette.base02}"; - extraConfig = '' - [urgency=high] - border-color=#${palette.base09} - # ''; }; }; } diff --git a/homes/julian/features/hyprland/waybar/default.nix b/homes/julian/features/hyprland/waybar/default.nix index 067357c..2eb690d 100644 --- a/homes/julian/features/hyprland/waybar/default.nix +++ b/homes/julian/features/hyprland/waybar/default.nix @@ -1,12 +1,5 @@ -{ - options, - config, - pkgs, - lib, - inputs, - ... -}: let - palette = (inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name}).palette; +{config, ...}: let + palette = config.lib.stylix.colors; in { programs.waybar = { enable = true; @@ -14,23 +7,23 @@ in { settings.mainBar = builtins.fromJSON (builtins.readFile ./config.json); }; - xdg.configFile."waybar/style.css".source = ./style.css; - xdg.configFile."waybar/theme.css".text = '' - /* - bg - background - fg - foreground - */ + # xdg.configFile."waybar/style.css".source = ./style.css; + # xdg.configFile."waybar/theme.css".text = '' + # /* + # bg - background + # fg - foreground + # */ - /* Main Colors */ - @define-color background #${palette.base00}; - @define-color foreground #${palette.base05}; + # /* Main Colors */ + # @define-color background #${palette.base00}; + # @define-color foreground #${palette.base05}; - /* Workspace Button Colors */ - @define-color hover-bg #${palette.base01}; - @define-color hover-fg #${palette.base05}; - @define-color active-bg #${palette.base02}; - @define-color active-fg #${palette.base0A}; - @define-color urgent-bg #${palette.base08}; - @define-color urgent-fg #${palette.base00}; - ''; + # /* Workspace Button Colors */ + # @define-color hover-bg #${palette.base01}; + # @define-color hover-fg #${palette.base05}; + # @define-color active-bg #${palette.base02}; + # @define-color active-fg #${palette.base0A}; + # @define-color urgent-bg #${palette.base08}; + # @define-color urgent-fg #${palette.base00}; + # ''; } diff --git a/homes/julian/features/hyprland/wlogout/default.nix b/homes/julian/features/hyprland/wlogout/default.nix index 8a506ee..936d7de 100644 --- a/homes/julian/features/hyprland/wlogout/default.nix +++ b/homes/julian/features/hyprland/wlogout/default.nix @@ -1,15 +1,9 @@ { - options, config, - lib, pkgs, - inputs, ... }: let - inherit - (inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name}) - palette - ; + palette = config.lib.stylix.colors; in { home.packages = with pkgs; [wlogout]; diff --git a/homes/julian/features/hyprland/wofi/default.nix b/homes/julian/features/hyprland/wofi/default.nix index 9b3e184..bd16164 100644 --- a/homes/julian/features/hyprland/wofi/default.nix +++ b/homes/julian/features/hyprland/wofi/default.nix @@ -1,86 +1,80 @@ { - options, config, - lib, pkgs, - inputs, ... }: let - inherit - (inputs.nix-colors.colorschemes.${builtins.toString config.colorscheme.name}) - palette - ; + palette = config.lib.stylix.colors; in { home.packages = with pkgs; [wofi]; xdg.configFile."wofi/config".source = ./config; - xdg.configFile."wofi/style.css".text = '' - window { - margin: 5px; - border: 5px solid #181926; - background-color: #${palette.base00}; - border-radius: 15px; - font-family: "JetBrainsMono"; - font-size: 14px; - } + # xdg.configFile."wofi/style.css".text = '' + # window { + # margin: 5px; + # border: 5px solid #181926; + # background-color: #${palette.base00}; + # border-radius: 15px; + # font-family: "JetBrainsMono"; + # font-size: 14px; + # } - #input { - all: unset; - min-height: 36px; - padding: 4px 10px; - margin: 4px; - border: none; - color: #${palette.base05}; - font-weight: bold; - background-color: #${palette.base01}; - outline: none; - border-radius: 15px; - margin: 10px; - margin-bottom: 2px; - } + # #input { + # all: unset; + # min-height: 36px; + # padding: 4px 10px; + # margin: 4px; + # border: none; + # color: #${palette.base05}; + # font-weight: bold; + # background-color: #${palette.base01}; + # outline: none; + # border-radius: 15px; + # margin: 10px; + # margin-bottom: 2px; + # } - #inner-box { - margin: 4px; - padding: 10px; - font-weight: bold; - border-radius: 15px; - } + # #inner-box { + # margin: 4px; + # padding: 10px; + # font-weight: bold; + # border-radius: 15px; + # } - #outer-box { - margin: 0px; - padding: 3px; - border: none; - border-radius: 15px; - border: 5px solid #${palette.base01}; - } + # #outer-box { + # margin: 0px; + # padding: 3px; + # border: none; + # border-radius: 15px; + # border: 5px solid #${palette.base01}; + # } - #scroll { - margin-top: 5px; - border: none; - border-radius: 15px; - margin-bottom: 5px; - } + # #scroll { + # margin-top: 5px; + # border: none; + # border-radius: 15px; + # margin-bottom: 5px; + # } - #text:selected { - color: #${palette.base01}; - margin: 0px 0px; - border: none; - border-radius: 15px; - } + # #text:selected { + # color: #${palette.base01}; + # margin: 0px 0px; + # border: none; + # border-radius: 15px; + # } - #entry { - margin: 0px 0px; - border: none; - border-radius: 15px; - background-color: transparent; - } + # #entry { + # margin: 0px 0px; + # border: none; + # border-radius: 15px; + # background-color: transparent; + # } - #entry:selected { - margin: 0px 0px; - border: none; - border-radius: 15px; - background: #${palette.base0D}; - background-size: 400% 400%; - } - ''; + # #entry:selected { + # margin: 0px 0px; + # border: none; + # border-radius: 15px; + # background: #${palette.base0D}; + # background-size: 400% 400%; + # } + # ''; } diff --git a/homes/julian/features/suites/desktop/default.nix b/homes/julian/features/suites/desktop/default.nix index d888784..1d0a905 100644 --- a/homes/julian/features/suites/desktop/default.nix +++ b/homes/julian/features/suites/desktop/default.nix @@ -1,5 +1,5 @@ {pkgs, ...}: { - imports = [../../gtk]; + imports = [./stylix.nix]; services.blueman-applet.enable = true; services.nextcloud-client.enable = true; diff --git a/homes/julian/features/suites/desktop/stylix.nix b/homes/julian/features/suites/desktop/stylix.nix new file mode 100644 index 0000000..e4b2fea --- /dev/null +++ b/homes/julian/features/suites/desktop/stylix.nix @@ -0,0 +1,10 @@ +{ + pkgs, + inputs, + ... +}: { + imports = [inputs.stylix.homeModules.stylix]; + + stylix.enable = true; + stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml"; +} diff --git a/homes/julian/features/zsh/default.nix b/homes/julian/features/zsh/default.nix index 0913076..075261e 100644 --- a/homes/julian/features/zsh/default.nix +++ b/homes/julian/features/zsh/default.nix @@ -3,9 +3,9 @@ pkgs, ... }: { - home.file = { - ".config/starship.toml".source = ./starship.toml; - }; + # home.file = { + # ".config/starship.toml".source = ./starship.toml; + # }; home.packages = with pkgs; [starship];