From be72064f135ad0c3fe6908f9858bdefee04799ea Mon Sep 17 00:00:00 2001 From: ulic-youthlic Date: Thu, 16 Jan 2025 19:38:54 +0800 Subject: [PATCH] add stylix as theme config --- .gitattributes | 4 +- .../wallpaper/pic => assets/wallpaper}/01.png | 0 flake.lock | 354 +++++++++++++++++- flake.nix | 7 + home/david/modules/wallpaper/default.nix | 9 +- home/modules/default.nix | 6 +- home/modules/fuzzel.nix | 20 +- home/modules/helix/config.toml | 5 +- nixos/configurations/Tytonidae/default.nix | 1 + nixos/configurations/Tytonidae/stylix.nix | 27 ++ nixos/modules/default.nix | 2 +- nixos/modules/gui/default.nix | 2 +- 12 files changed, 417 insertions(+), 20 deletions(-) rename {home/david/modules/wallpaper/pic => assets/wallpaper}/01.png (100%) create mode 100644 nixos/configurations/Tytonidae/stylix.nix diff --git a/.gitattributes b/.gitattributes index 7f89945..5d09a2e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,2 @@ -home/david/modules/wallpaper/pic/ filter=lfs diff=lfs merge=lfs -text -home/david/modules/wallpaper/pic/01.png filter=lfs diff=lfs merge=lfs -text +assets/ filter=lfs diff=lfs merge=lfs -text +assets/wallpaper/01.png filter=lfs diff=lfs merge=lfs -text diff --git a/home/david/modules/wallpaper/pic/01.png b/assets/wallpaper/01.png similarity index 100% rename from home/david/modules/wallpaper/pic/01.png rename to assets/wallpaper/01.png diff --git a/flake.lock b/flake.lock index 274f9c4..d98295d 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,71 @@ { "nodes": { + "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-vim": { + "flake": false, + "locked": { + "lastModified": 1735953590, + "narHash": "sha256-YbQwaApLFJobn/0lbpMKcJ8N5axKlW2QIGkDS5+xoSU=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "c2a1232aa2c0ed27dcbf005779bcfe0e0ab5e85d", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "type": "github" + } + }, "crane": { "locked": { "lastModified": 1727974419, @@ -53,6 +119,22 @@ "url": "https://gitlab.com/rycee/nur-expressions.git?dir=pkgs/firefox-addons" } }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1736899990, + "narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -99,6 +181,22 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, + "flake-compat_4": { + "flake": false, + "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": "nixpkgs-lib" @@ -243,6 +341,43 @@ "type": "github" } }, + "flake-utils_5": { + "inputs": { + "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" + } + }, + "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" + } + }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -264,6 +399,71 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": [ + "stylix", + "flake-compat" + ], + "gitignore": "gitignore", + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "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" + } + }, "helix": { "inputs": { "crane": "crane", @@ -330,6 +530,27 @@ "type": "github" } }, + "home-manager_3": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "niri-flake": { "inputs": { "niri-stable": "niri-stable", @@ -742,6 +963,22 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nur": { "locked": { "lastModified": 1731941414, @@ -822,7 +1059,8 @@ "nixpkgs": "nixpkgs_4", "nur-xddxdd": "nur-xddxdd", "oskars-dotfiles": "oskars-dotfiles", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "stylix": "stylix" } }, "rust-overlay": { @@ -887,6 +1125,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-compat": "flake-compat_4", + "flake-utils": "flake-utils_5", + "git-hooks": "git-hooks", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_3", + "nixpkgs": "nixpkgs_5", + "systems": "systems_6", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1736993991, + "narHash": "sha256-kPDt3QgeIsct9f375LIGmSoZKl7Z4AVzXX+9U0VV5PI=", + "owner": "danth", + "repo": "stylix", + "rev": "a88c4d264a4379b7fe5a9e75ed51bea96f8dd407", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -962,6 +1233,87 @@ "type": "github" } }, + "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" + } + }, + "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-tmux": { + "flake": false, + "locked": { + "lastModified": 1735737224, + "narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64", + "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": [ diff --git a/flake.nix b/flake.nix index c398bf3..1acb65a 100644 --- a/flake.nix +++ b/flake.nix @@ -61,6 +61,10 @@ url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + + stylix = { + url = "github:danth/stylix"; + }; }; outputs = { @@ -170,6 +174,9 @@ ++ (with outputs.homeManagerModules; [ default "${unixName}" + ]) + ++ (with inputs; [ + stylix.homeManagerModules.stylix ]); extraSpecialArgs = { inherit diff --git a/home/david/modules/wallpaper/default.nix b/home/david/modules/wallpaper/default.nix index 1e85304..2abc878 100644 --- a/home/david/modules/wallpaper/default.nix +++ b/home/david/modules/wallpaper/default.nix @@ -1,4 +1,9 @@ -{ lib, config, ... }: +{ + rootPath, + lib, + config, + ... +}: let cfg = config.david.wallpaper; in @@ -16,7 +21,7 @@ in home.file."wallpaper" = { force = true; recursive = true; - source = ./pic; + source = rootPath + "/assets/wallpaper"; }; }; } diff --git a/home/modules/default.nix b/home/modules/default.nix index e4d0da1..42dbd9d 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1,4 +1,8 @@ -{ inputs, lib, ... }: +{ + inputs, + lib, + ... +}: { imports = (with inputs; [ diff --git a/home/modules/fuzzel.nix b/home/modules/fuzzel.nix index 38a13ca..fc9cb59 100644 --- a/home/modules/fuzzel.nix +++ b/home/modules/fuzzel.nix @@ -13,19 +13,19 @@ in enable = true; settings = { main = { - font = "LXGW WenKai:size=11"; + # font = "LXGW WenKai:size=11"; prompt = "'λ '"; dpi-aware = true; }; - colors = { - background = "282a36dd"; - text = "f8f8f2ff"; - match = "8be9fdff"; - selection-match = "8be9fdff"; - selection = "44475add"; - selection-text = "f8f8f2ff"; - border = "bd93f9ff"; - }; + # colors = { + # background = "282a36dd"; + # text = "f8f8f2ff"; + # match = "8be9fdff"; + # selection-match = "8be9fdff"; + # selection = "44475add"; + # selection-text = "f8f8f2ff"; + # border = "bd93f9ff"; + # }; }; }; }; diff --git a/home/modules/helix/config.toml b/home/modules/helix/config.toml index dedc232..7fc778d 100644 --- a/home/modules/helix/config.toml +++ b/home/modules/helix/config.toml @@ -1,4 +1,4 @@ -theme = "ayu_evolve" +# theme = "ayu_evolve" # avoid conflicting with stylix [editor] line-number = "relative" @@ -56,8 +56,9 @@ focus-lost = true after-delay.enable = true [editor.whitespace.render] -space = "all" +space = "none" tab = "all" +nbsp = "all" newline = "none" [editor.whitespace.characters] diff --git a/nixos/configurations/Tytonidae/default.nix b/nixos/configurations/Tytonidae/default.nix index cbe46e9..d2c1925 100644 --- a/nixos/configurations/Tytonidae/default.nix +++ b/nixos/configurations/Tytonidae/default.nix @@ -11,6 +11,7 @@ ]) ++ [ ./users + ./stylix.nix # Include the hardware related config ./hardware-configuration.nix diff --git a/nixos/configurations/Tytonidae/stylix.nix b/nixos/configurations/Tytonidae/stylix.nix new file mode 100644 index 0000000..9bff339 --- /dev/null +++ b/nixos/configurations/Tytonidae/stylix.nix @@ -0,0 +1,27 @@ +{ pkgs, rootPath, ... }: +{ + stylix = { + enable = true; + image = rootPath + "/assets/wallpaper/01.png"; + polarity = "dark"; + base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml"; + fonts = { + serif = { + package = pkgs.lxgw-wenkai; + name = "LXGW WenKai"; + }; + sansSerif = { + package = pkgs.noto-fonts-cjk-serif; + name = "Noto Serif CJK SC"; + }; + monospace = { + package = pkgs.nerd-fonts.fira-code; + name = "FiraCode Nerd Font"; + }; + emoji = { + package = pkgs.noto-fonts-emoji; + name = "Noto Color Emoji"; + }; + }; + }; +} diff --git a/nixos/modules/default.nix b/nixos/modules/default.nix index b348009..effb340 100644 --- a/nixos/modules/default.nix +++ b/nixos/modules/default.nix @@ -1,7 +1,6 @@ { inputs, outputs, - pkgs, ... }: { @@ -12,6 +11,7 @@ home-manager.nixosModules.home-manager dae.nixosModules.dae sops-nix.nixosModules.sops + stylix.nixosModules.stylix ]) ++ [ ./nix.nix diff --git a/nixos/modules/gui/default.nix b/nixos/modules/gui/default.nix index c4f11df..b78b9e8 100644 --- a/nixos/modules/gui/default.nix +++ b/nixos/modules/gui/default.nix @@ -42,7 +42,7 @@ in noto-fonts-emoji lxgw-wenkai ]; - fontconfig.defaultFonts = pkgs.lib.mkForce { + fontconfig.defaultFonts = { serif = [ "LXGW WenKai" "Noto Serif CJK SC"