diff --git a/flake.lock b/flake.lock index 83809e0..adb610b 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": 1725860795, + "narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "7f795bf75d38e0eea9fed287264067ca187b88a9", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1731949548, + "narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "61165b1632409bd55e530f3dbdd4477f011cadc6", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "type": "github" + } + }, "blink-cmp": { "inputs": { "fenix": "fenix", @@ -62,6 +128,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -80,6 +162,60 @@ "type": "github" } }, + "flake-utils": { + "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" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1713702291, + "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "46.1", + "repo": "gnome-shell", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -100,6 +236,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1732482255, + "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "nixCats": { "locked": { "lastModified": 1730063105, @@ -218,7 +375,9 @@ "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixvim": "nixvim", - "spicetify": "spicetify" + "spicetify": "spicetify", + "stylix": "stylix", + "wallpapers": "wallpapers" } }, "rust-analyzer-src": { @@ -258,6 +417,119 @@ "repo": "spicetify-nix", "type": "github" } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "gnome-shell": "gnome-shell", + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems", + "tinted-foot": "tinted-foot", + "tinted-kitty": "tinted-kitty", + "tinted-tmux": "tinted-tmux" + }, + "locked": { + "lastModified": 1732608183, + "narHash": "sha256-T5k5ill+PNIEW6KuS4CpUacMtZNJe2J2q5eBOF4xWuU=", + "owner": "danth", + "repo": "stylix", + "rev": "7689e621f87bce7b6ab1925dfd70ad1f4c80f334", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "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": 1729501581, + "narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "wallpapers": { + "flake": false, + "locked": { + "lastModified": 1732782926, + "narHash": "sha256-1y/w1rXuqcTECOy/HCYgj6zol9QLdlfBUjVIxWfhhIU=", + "owner": "kaitotlex", + "repo": "wallpaper", + "rev": "35a4b0824e2957e771dac3a35edfb1da2f6d019a", + "type": "github" + }, + "original": { + "owner": "kaitotlex", + "repo": "wallpaper", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 0f44f57..7f942ca 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ description = "System configuration flake."; inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; @@ -11,6 +12,14 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nixvim.url = "github:kaitotlex/vix1"; + stylix = { + url = "github:danth/stylix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + wallpapers = { + url = "github:kaitotlex/wallpaper"; + flake = false; + }; }; outputs = diff --git a/hosts/kuroko/default.nix b/hosts/kuroko/default.nix index 416f647..c03fe42 100644 --- a/hosts/kuroko/default.nix +++ b/hosts/kuroko/default.nix @@ -5,5 +5,6 @@ ../../modules/wm ../../modules/security ../../modules/audio + ../../modules/stylix ]; } diff --git a/hosts/shiroko/default.nix b/hosts/shiroko/default.nix index 416f647..c03fe42 100644 --- a/hosts/shiroko/default.nix +++ b/hosts/shiroko/default.nix @@ -5,5 +5,6 @@ ../../modules/wm ../../modules/security ../../modules/audio + ../../modules/stylix ]; } diff --git a/modules/core/default.nix b/modules/core/default.nix index 8e47073..ee9748f 100644 --- a/modules/core/default.nix +++ b/modules/core/default.nix @@ -19,11 +19,6 @@ "flakes" ]; optimise.automatic = true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 14d"; - }; # Free up to 1GiB when there is less than 100MiB left extraOptions = '' min-free = ${toString (100 * 1024 * 1024)} @@ -50,7 +45,7 @@ }; packages = with pkgs; [ noto-fonts - noto-fonts-cjk + noto-fonts-cjk-sans noto-fonts-emoji (nerdfonts.override { fonts = [ "CascadiaCode" ]; }) ]; @@ -70,6 +65,13 @@ ]; }; + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep 3 --keep-since 4d"; + flake = "/home/kaitotlex/nixos"; + }; + programs.fish.enable = true; users.users.kaitotlex.shell = pkgs.fish; } diff --git a/modules/stylix/default.nix b/modules/stylix/default.nix new file mode 100644 index 0000000..5ffc55c --- /dev/null +++ b/modules/stylix/default.nix @@ -0,0 +1,36 @@ +{ inputs, pkgs, ... }: +{ + imports = [ + inputs.stylix.nixosModules.stylix + ]; + + stylix = { + enable = true; + image = "${inputs.wallpapers}/math/bifurcation.png"; + polarity = "dark"; + + fonts = { + serif = { + name = "Noto Serif"; + package = pkgs.noto-fonts; + }; + sansSerif = { + name = "Noto Sans"; + package = pkgs.noto-fonts; + }; + emoji = { + name = "Noto Color Emoji"; + package = pkgs.noto-fonts-emoji; + }; + monospace = { + name = "CaskaydiaCove Nerd Font"; + package = (pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; }); + }; + }; + cursor = { + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Ice"; + size = 26; + }; + }; +} diff --git a/users/kaitotlex/de/sway/default.nix b/users/kaitotlex/de/sway/default.nix index 16229dd..8575930 100644 --- a/users/kaitotlex/de/sway/default.nix +++ b/users/kaitotlex/de/sway/default.nix @@ -13,53 +13,53 @@ gaps = { inner = 12; }; - colors = { - focused = { - background = "#191724"; - border = "#6e6a86"; - childBorder = "#6e6a86"; - indicator = "#26233a"; - text = "#e0def4"; - }; - focusedInactive = { - background = "#797593"; - border = "#393552"; - childBorder = "#393552"; - indicator = "#ea9d34"; - text = "#e0def4"; - }; - placeholder = { - background = "#1f1d2e"; - border = "#000000"; - childBorder = "#9893a5"; - indicator = "#000000"; - text = "#e0def4"; - }; - unfocused = { - background = "#1f1d2e"; - border = "#1f1d2e"; - childBorder = "#1f1d2e"; - indicator = "#797593"; - text = "#e0def4"; - }; - urgent = { - background = "#2a273f"; - border = "#ea9a97"; - childBorder = "#ea9a97"; - indicator = "#1f1d2e"; - text = "#e0def4"; - }; - }; + # colors = { + # focused = { + # background = "#191724"; + # border = "#6e6a86"; + # childBorder = "#6e6a86"; + # indicator = "#26233a"; + # text = "#e0def4"; + # }; + # focusedInactive = { + # background = "#797593"; + # border = "#393552"; + # childBorder = "#393552"; + # indicator = "#ea9d34"; + # text = "#e0def4"; + # }; + # placeholder = { + # background = "#1f1d2e"; + # border = "#000000"; + # childBorder = "#9893a5"; + # indicator = "#000000"; + # text = "#e0def4"; + # }; + # unfocused = { + # background = "#1f1d2e"; + # border = "#1f1d2e"; + # childBorder = "#1f1d2e"; + # indicator = "#797593"; + # text = "#e0def4"; + # }; + # urgent = { + # background = "#2a273f"; + # border = "#ea9a97"; + # childBorder = "#ea9a97"; + # indicator = "#1f1d2e"; + # text = "#e0def4"; + # }; + # }; window = { border = 3; titlebar = false; }; - startup = [ - { - always = true; - command = "swaybg -i /home/kaitotlex/Pictures/eff.png"; - } - ]; + # startup = [ + # { + # always = true; + # command = "swaybg -i /home/kaitotlex/Pictures/eff.png"; + # } + # ]; }; xwayland = true; extraConfig = '' diff --git a/users/kaitotlex/default.nix b/users/kaitotlex/default.nix index c7c3586..51cda52 100644 --- a/users/kaitotlex/default.nix +++ b/users/kaitotlex/default.nix @@ -3,5 +3,6 @@ ./home.nix ./spicetify.nix ./de + ./stylix ]; } diff --git a/users/kaitotlex/home.nix b/users/kaitotlex/home.nix index be4d196..4f54f45 100644 --- a/users/kaitotlex/home.nix +++ b/users/kaitotlex/home.nix @@ -223,13 +223,18 @@ programs.kitty = { enable = true; - theme = "Kanagawa_dragon"; - font.name = "CaskaydiaCove Nerd Font"; settings = { font_size = 12; - window_padding_width = "8 8 0"; + window_padding_width = "8 8"; confirm_os_window_close = -1; - shell_integration = "enabled"; + enable_audio_bell = "no"; + background_opacity = pkgs.lib.mkForce "0.8"; + allow_remote_control = "yes"; + listen_on = "unix:/tmp/kitty"; + scrollback_pager = ''nvim --noplugin -c "set signcolumn=no showtabline=0" -c "silent write! /tmp/kitty_scrollback_buffer | te cat /tmp/kitty_scrollback_buffer - "''; + cursor = pkgs.lib.mkForce "#c0caf5"; + cursor_text_color = pkgs.lib.mkForce "#1a1b26"; + cursor_trail = 3; }; }; @@ -317,9 +322,7 @@ programs.btop = { enable = true; settings = { - color_theme = "tokyo-night"; vim_keys = true; - theme_background = false; }; }; diff --git a/users/kaitotlex/spicetify.nix b/users/kaitotlex/spicetify.nix index 8908f44..4c9368e 100644 --- a/users/kaitotlex/spicetify.nix +++ b/users/kaitotlex/spicetify.nix @@ -7,8 +7,6 @@ in programs.spicetify = { enable = true; - theme = spicepkgs.themes.dribbblish; - colorScheme = "rosepine"; enabledExtensions = with spicepkgs.extensions; [ lastfm fullAppDisplayMod diff --git a/users/kaitotlex/stylix/default.nix b/users/kaitotlex/stylix/default.nix new file mode 100644 index 0000000..773b80f --- /dev/null +++ b/users/kaitotlex/stylix/default.nix @@ -0,0 +1,9 @@ +{ + stylix.targets = { + waybar.enable = false; + kitty.variant256Colors = true; + neovim.enable = false; + gnome.enable = true; + kde.enable = true; + }; +}