diff --git a/common/home/default.nix b/common/home/default.nix index ac81d96..87c049b 100644 --- a/common/home/default.nix +++ b/common/home/default.nix @@ -100,16 +100,16 @@ in tmux ]; - # I set my cursor here, the one I fetched above - pointerCursor = lib.mkIf enableGraphical { - gtk.enable = true; - name = cursor_name; - size = 32; - package = pkgs.runCommandNoCC "${cursor_name}" { } '' - mkdir -p $out/share/icons - ln -s ${cursor_src} $out/share/icons/${cursor_name} - ''; - }; + # # I set my cursor here, the one I fetched above + # pointerCursor = lib.mkIf enableGraphical { + # gtk.enable = true; + # name = cursor_name; + # size = 32; + # package = pkgs.runCommandNoCC "${cursor_name}" { } '' + # mkdir -p $out/share/icons + # ln -s ${cursor_src} $out/share/icons/${cursor_name} + # ''; + # }; # make stuff use .config etc (ask nicely at least) preferXdgDirectories = true; @@ -286,8 +286,8 @@ in let display-shader = pkgs.substituteAll { src = ../../modules/automapaper/display-with_vars.glsl; - background = inputs.nix-colors.lib.conversions.hexToGLSLVec "0a000a"; - foreground = inputs.nix-colors.lib.conversions.hexToGLSLVec "192291"; + background = inputs.nix-colors.lib.conversions.hexToGLSLVec config.lib.stylix.colors.base00; + foreground = inputs.nix-colors.lib.conversions.hexToGLSLVec config.lib.stylix.colors.base01; }; state-shader = ../../modules/automapaper/state-game_of_life.glsl; init-shader = ../../modules/automapaper/init.glsl; @@ -345,14 +345,7 @@ in }; #attempt at styling...., mostly just trying to not get flashbanged - dconf = { - enable = enableGraphical; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - }; - }; + dconf.enable = enableGraphical; # same here gtk = { @@ -369,10 +362,6 @@ in ''; configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; }; - theme = { - name = "Adwaita-dark"; - package = pkgs.gnome-themes-extra; - }; }; programs = { @@ -380,7 +369,6 @@ in btop = { enable = true; settings = { - color_theme = "ayu"; theme_background = false; truecolor = true; vim_keys = true; @@ -419,10 +407,6 @@ in radius = 15; width = 3; }; - colors = { - background = "${config.colorScheme.palette.base00}80"; - selection = "${config.colorScheme.palette.base01}80"; - }; }; }; # FIX: gpg should be declarative, but is more work than I have time for rn @@ -477,13 +461,6 @@ in }; }; - # and MORE styling options and settings - qt = { - enable = enableGraphical; - platformTheme.name = "adwaita"; - style.name = "adwaita-dark"; - }; - services = { # to make my yubikey and git signing do things correctly gpg-agent = { @@ -495,10 +472,8 @@ in # notification daemon, I think it looks better than dunst mako = { enable = true; - backgroundColor = "#000000AA"; # make notifications time out after 30 sec by default defaultTimeout = 30000; - borderColor = "#${config.colorScheme.palette.base00}FF"; }; playerctld.enable = true; swayidle = { @@ -516,4 +491,42 @@ in enable = true; }; }; + + stylix = { + base16Scheme = "${pkgs.base16-schemes}/share/themes/dracula.yaml"; + cursor = { + name = cursor_name; + package = cursor_src; + size = 32; + }; + enable = true; + fonts = { + emoji = config.stylix.fonts.monospace; + monospace = { + name = "Maple Mono NF"; + package = pkgs.maple-mono.NF; + }; + sansSerif = config.stylix.fonts.monospace; + serif = config.stylix.fonts.monospace; + }; + opacity = { + terminal = 0.2; + popups = 0.66; + }; + override = { + # I liked my background colors from before, make it in more spots + base00 = "0a000a"; + base01 = "192291"; + }; + targets = { + neovim.enable = false; + waybar.enable = false; + swaylock.enable = true; + firefox.profileNames = [ "profile_0" ]; + qt = { + enable = true; + platform = "qtct"; + }; + }; + }; } diff --git a/flake.lock b/flake.lock index 99b4171..68b2446 100644 --- a/flake.lock +++ b/flake.lock @@ -105,6 +105,56 @@ "type": "github" } }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1732200724, + "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "153d52373b0fb2d343592871009a286ec8837aec", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1736852337, + "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, "base16-schemes": { "flake": false, "locked": { @@ -121,6 +171,23 @@ "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" + } + }, "blobs": { "flake": false, "locked": { @@ -374,6 +441,22 @@ "type": "github" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1741628778, + "narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -436,6 +519,21 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, + "flake-compat_5": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -458,6 +556,28 @@ "type": "github" } }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_2" @@ -550,7 +670,28 @@ }, "flake-utils_6": { "inputs": { - "systems": "systems_8" + "systems": [ + "stylix", + "systems" + ] + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { + "inputs": { + "systems": "systems_9" }, "locked": { "lastModified": 1731533236, @@ -606,6 +747,48 @@ "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" + } + }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore_2", + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741379162, + "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -629,6 +812,45 @@ "type": "github" } }, + "gitignore_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "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" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1732369855, + "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "dadd58f630eeea41d645ee225a63f719390829dc", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "47.2", + "repo": "gnome-shell", + "type": "github" + } + }, "hardware": { "locked": { "lastModified": 1743420942, @@ -707,6 +929,27 @@ "type": "github" } }, + "home-manager_4": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1741635347, + "narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "7fb8678716c158642ac42f9ff7a18c0800fea551", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane_4", @@ -1109,6 +1352,45 @@ "type": "github" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1741513245, + "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "stylix", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix_2" + }, + "locked": { + "lastModified": 1741693509, + "narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=", + "owner": "nix-community", + "repo": "NUR", + "rev": "5479646b2574837f1899da78bdf9a48b75a9fb27", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, "oxalica": { "inputs": { "nixpkgs": [ @@ -1191,6 +1473,7 @@ "nixcord": "nixcord", "nixpkgs": "nixpkgs_8", "oxalica": "oxalica", + "stylix": "stylix", "tsunami": "tsunami_2" } }, @@ -1237,6 +1520,41 @@ "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-compat": "flake-compat_5", + "flake-utils": "flake-utils_6", + "git-hooks": "git-hooks", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_4", + "nixpkgs": "nixpkgs_9", + "nur": "nur", + "systems": "systems_8", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1743451752, + "narHash": "sha256-PXHHMhGea0b4CNKXkcAPHT9AlFOrptaVwlcMjPE/MVk=", + "owner": "danth", + "repo": "stylix", + "rev": "b45eb498944ffeae47aba8d1e42b8449fd07ca08", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -1356,6 +1674,103 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-foot": { + "flake": false, + "locked": { + "lastModified": 1726913040, + "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=", + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-foot", + "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1716423189, + "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "eb39e141db14baef052893285df9f266df041ff8", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1741468895, + "narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1740877430, + "narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "d48ee86394cbe45b112ba23ab63e33656090edb4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1725758778, + "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -1377,6 +1792,28 @@ "type": "github" } }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "tsunami": { "inputs": { "advisory-db": "advisory-db_3", @@ -1404,7 +1841,7 @@ "advisory-db": "advisory-db_4", "crane": "crane_5", "fenix": "fenix_4", - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_7", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index 90d8517..1f11903 100644 --- a/flake.nix +++ b/flake.nix @@ -78,6 +78,10 @@ disqalculate = { url = "github:itepastra/disqalculate"; }; + + stylix = { + url = "github:danth/stylix"; + }; }; outputs = @@ -95,6 +99,7 @@ }; modules = [ ./hosts/lambdaos/configuration.nix + inputs.stylix.nixosModules.stylix inputs.home-manager.nixosModules.default inputs.agenix.nixosModules.default inputs.lix-module.nixosModules.default @@ -118,6 +123,7 @@ }; modules = [ disko.nixosModules.disko + inputs.stylix.nixosModules.stylix inputs.home-manager.nixosModules.default inputs.hardware.nixosModules.framework-11th-gen-intel ./hosts/muos/configuration.nix @@ -129,6 +135,7 @@ }; modules = [ inputs.home-manager.nixosModules.default + inputs.stylix.nixosModules.stylix ./hosts/zelden/configuration.nix ]; }; diff --git a/modules/applications/firefox.nix b/modules/applications/firefox.nix index 4dc3b85..38c2eb2 100644 --- a/modules/applications/firefox.nix +++ b/modules/applications/firefox.nix @@ -17,6 +17,16 @@ in enable = true; # TODO: add some default firefox settings package = (pkgs.firefox.override { nativeMessagingHosts = [ pkgs.passff-host ]; }); + profiles = { + profile_0 = { + id = 0; + name = "profile_0"; + isDefault = true; + settings = { + # TODO: add firefox settings of choice + }; + }; + }; }; home.packages = [ diff --git a/modules/applications/kitty.nix b/modules/applications/kitty.nix index 0fc6eeb..26a8fc0 100644 --- a/modules/applications/kitty.nix +++ b/modules/applications/kitty.nix @@ -18,16 +18,11 @@ in settings = { confirm_os_window_close = 0; scrollback_lines = 5000; - background_opacity = 0.2; }; shellIntegration = { enableZshIntegration = true; enableBashIntegration = true; }; - font = { - name = "Maple Mono NF"; - package = pkgs.maple-mono.NF; - }; }; }; }