feat: stylix

This commit is contained in:
Elisiei Yehorov 2026-02-22 19:33:10 +01:00
parent 0a5e457ae0
commit 2cb85edb66
Signed by: elisiei
GPG key ID: BA1D158DCE3DF089
29 changed files with 437 additions and 474 deletions

View file

@ -14,7 +14,7 @@ copy-config:
# 🚀 Deploy the current system configuration and make it the default on boot. # 🚀 Deploy the current system configuration and make it the default on boot.
# Usage: make deploy # Usage: make deploy
deploy: copy-config deploy: copy-config
sudo nixos-rebuild switch --flake /etc/nixos sudo nixos-rebuild switch --flake .#nixos
# 🏡 Same as `deploy`, but with a custom flake target (e.g., for home-manager). # 🏡 Same as `deploy`, but with a custom flake target (e.g., for home-manager).
# Usage: make home # Usage: make home

298
flake.lock generated
View file

@ -1,5 +1,89 @@
{ {
"nodes": { "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": 1760703920,
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
"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"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1764873433,
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
@ -21,6 +105,62 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1767609335,
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"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": {
"host": "gitlab.gnome.org",
"lastModified": 1767737596,
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell",
"type": "gitlab"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -95,12 +235,38 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1767810917,
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixvim": "nixvim", "nixvim": "nixvim",
"spicetify-nix": "spicetify-nix" "spicetify-nix": "spicetify-nix",
"stylix": "stylix"
} }
}, },
"spicetify-nix": { "spicetify-nix": {
@ -122,6 +288,40 @@
"type": "github" "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_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1771626923,
"narHash": "sha256-Mn6oeKrY+Sw6kH0jK+hp5QQH4MTcqwBRQL/ScZDNcz8=",
"owner": "nix-community",
"repo": "stylix",
"rev": "b09847414b50c65788936199918272377f70fb91",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@ -151,6 +351,102 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"systems_3": {
"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": 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": 1767710407,
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1767489635,
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1767488740,
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -15,24 +15,40 @@
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# stylix (thx esteban)
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs = inputs @ {
inputs@{ nixpkgs, home-manager, ... }: nixpkgs,
{ home-manager,
stylix,
spicetify-nix,
...
}: {
nixosConfigurations = { nixosConfigurations = {
nixos = nixpkgs.lib.nixosSystem { nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { inherit inputs; }; specialArgs = {inherit inputs;};
modules = [ modules = [
./nixos/configuration.nix ./nixos/configuration.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.users.elisiei = import ./home/home.nix; home-manager.users.elisiei = {
imports = [
./home/home.nix
spicetify-nix.homeManagerModules.spicetify
stylix.homeModules.stylix
];
};
home-manager.backupFileExtension = "hm-backup"; home-manager.backupFileExtension = "hm-backup";
home-manager.extraSpecialArgs = { inherit inputs; }; home-manager.extraSpecialArgs = {inherit inputs;};
} }
]; ];
}; };

View file

@ -3,7 +3,6 @@
./packages.nix ./packages.nix
# hyprland # hyprland
# ./modules/hyprland/default.nix
./modules/wm/sway/default.nix ./modules/wm/sway/default.nix
# editors # editors
@ -14,7 +13,6 @@
# shell stuff # shell stuff
./modules/shell/bash/default.nix ./modules/shell/bash/default.nix
# ./modules/shell/nushell/default.nix
./modules/shell/direnv/default.nix ./modules/shell/direnv/default.nix
./modules/shell/fish/default.nix ./modules/shell/fish/default.nix
@ -22,6 +20,9 @@
./modules/user/tofi/default.nix ./modules/user/tofi/default.nix
./modules/user/dunst/default.nix ./modules/user/dunst/default.nix
./modules/user/git/default.nix ./modules/user/git/default.nix
./modules/user/stylix/default.nix
./modules/user/firefox/default.nix
./modules/user/spotify/default.nix
]; ];
home.username = "elisiei"; home.username = "elisiei";

View file

@ -1,38 +1,5 @@
{ lib, ... }:
{ {
plugins.mini-completion = { plugins.mini-completion = {
enable = true; enable = true;
settings = {
delay = {
completion = 100;
info = 100;
signature = 50;
};
fallback_action = "<C-n>";
lsp_completion = {
auto_setup = true;
process_items = lib.nixvim.mkRaw "nil";
snippet_insert = lib.nixvim.mkRaw "nil";
source_func = "completefunc";
};
mappings = {
force_fallback = "<A-Space>";
force_twostep = "<C-Space>";
scroll_down = "<C-f>";
scroll_up = "<C-b>";
};
window = {
info = {
border = lib.nixvim.mkRaw "nil";
height = 25;
width = 80;
};
signature = {
border = lib.nixvim.mkRaw "nil";
height = 25;
width = 80;
};
};
};
}; };
} }

View file

@ -6,6 +6,11 @@
plugins.neo-tree = { plugins.neo-tree = {
enable = true; enable = true;
settings = { settings = {
sources = [
"filesystem"
"buffers"
"git_status"
];
default_component_configs = { default_component_configs = {
indent = { indent = {
with_expanders = true; with_expanders = true;
@ -15,11 +20,6 @@
}; };
}; };
}; };
sources = [
"filesystem"
"buffers"
"git_status"
];
enable_diagnostics = true; enable_diagnostics = true;
enable_git_status = true; enable_git_status = true;
enable_modified_markers = true; enable_modified_markers = true;

View file

@ -1,5 +1,6 @@
{ {
plugins.mini-icons = { plugins.mini-icons = {
enable = true; enable = true;
mockDevIcons = true;
}; };
} }

View file

@ -4,8 +4,5 @@ fish_config prompt choose minimalist
# setup direnv # setup direnv
direnv hook fish | source direnv hook fish | source
# set theme
source ~/.config/fish/themes/tokyonight_night.fish
# set aliases # set aliases
source ~/.config/fish/aliases/git.fish source ~/.config/fish/aliases/git.fish

View file

@ -1,6 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
home.file.".config/fish/themes".source = ./themes;
home.file.".config/fish/aliases".source = ./aliases; home.file.".config/fish/aliases".source = ./aliases;
programs.fish = { programs.fish = {
enable = true; enable = true;

View file

@ -1,31 +0,0 @@
#!/usr/bin/fish
set -l fg ffffff # primary foreground
set -l fg_dim bbbbbb # dim text
set -l fg_faint 888888 # comments / autosuggestions
set -l fg_dark 666666 # secondary elements
set -l bg_sel 333333 # selection background
set -l bg_match 2a2a2a # search match background
set -l error ffffff # errors
set -g fish_color_normal $fg
set -g fish_color_command $fg --bold
set -g fish_color_keyword $fg --bold
set -g fish_color_quote $fg_dim
set -g fish_color_redirection $fg
set -g fish_color_end $fg
set -g fish_color_option $fg_dim
set -g fish_color_error $error --reverse
set -g fish_color_param $fg
set -g fish_color_comment $fg_faint
set -g fish_color_selection --background=$bg_sel
set -g fish_color_search_match --background=$bg_match
set -g fish_color_operator $fg
set -g fish_color_escape $fg_dim
set -g fish_color_autosuggestion $fg_faint
set -g fish_pager_color_progress $fg_faint
set -g fish_pager_color_prefix $fg --bold
set -g fish_pager_color_completion $fg
set -g fish_pager_color_description $fg_faint
set -g fish_pager_color_selected_background --background=$bg_sel

View file

@ -1,37 +0,0 @@
#!/usr/bin/fish
# Kanagawa Fish shell theme
# A template was taken and modified from Tokyonight:
# https://github.com/folke/tokyonight.nvim/blob/main/extras/fish_tokyonight_night.fish
set -l foreground DCD7BA normal
set -l selection 2D4F67 brcyan
set -l comment 727169 brblack
set -l red C34043 red
set -l orange FF9E64 brred
set -l yellow C0A36E yellow
set -l green 76946A green
set -l purple 957FB8 magenta
set -l cyan 7AA89F cyan
set -l pink D27E99 brmagenta
# Syntax Highlighting Colors
set -g fish_color_normal $foreground
set -g fish_color_command $cyan
set -g fish_color_keyword $pink
set -g fish_color_quote $yellow
set -g fish_color_redirection $foreground
set -g fish_color_end $orange
set -g fish_color_error $red
set -g fish_color_param $purple
set -g fish_color_comment $comment
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $green
set -g fish_color_escape $pink
set -g fish_color_autosuggestion $comment
# Completion Pager Colors
set -g fish_pager_color_progress $comment
set -g fish_pager_color_prefix $cyan
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $comment

View file

@ -1,37 +0,0 @@
#!/usr/bin/fish
# tokyonight color palette
set -l foreground c0caf5
set -l selection 283457
set -l comment 565f89
set -l red f7768e
set -l orange ff9e64
set -l yellow e0af68
set -l green 9ece6a
set -l purple 9d7cd8
set -l cyan 7dcfff
set -l pink bb9af7
# syntax highlighting colors
set -g fish_color_normal $foreground
set -g fish_color_command $cyan
set -g fish_color_keyword $pink
set -g fish_color_quote $yellow
set -g fish_color_redirection $foreground
set -g fish_color_end $orange
set -g fish_color_option $pink
set -g fish_color_error $red
set -g fish_color_param $purple
set -g fish_color_comment $comment
set -g fish_color_selection --background=$selection
set -g fish_color_search_match --background=$selection
set -g fish_color_operator $green
set -g fish_color_escape $pink
set -g fish_color_autosuggestion $comment
# completion pager colors
set -g fish_pager_color_progress $comment
set -g fish_pager_color_prefix $cyan
set -g fish_pager_color_completion $foreground
set -g fish_pager_color_description $comment
set -g fish_pager_color_selected_background --background=$selection

View file

@ -1,14 +1,11 @@
{ config, ... }: {lib, ...}: {
{
home.file.".config/foot/themes".source = ./themes;
programs.foot = { programs.foot = {
enable = true; enable = true;
settings = { settings = {
main = { main = {
shell = "fish"; shell = "fish";
pad = "0x0center"; pad = "0x0center";
font = "Maple Mono NF:size=12"; font = lib.mkForce "Maple Mono NF:size=12";
include = "${config.xdg.configHome}/foot/themes/tokyonight.ini";
}; };
scrollback = { scrollback = {
lines = 100000; lines = 100000;

View file

@ -1,24 +0,0 @@
[colors]
# alpha=1.0
background=000000
foreground=ffffff
## Normal/regular colors (color palette 0-7)
regular0=000000 # black
regular1=5a5a5a # dark gray
regular2=6a6a6a # dark gray
regular3=7a7a7a # gray
regular4=8a8a8a # gray
regular5=9a9a9a # light gray
regular6=aaaaaa # light gray
regular7=ffffff # white
## Bright colors (color palette 8-15)
bright0=3a3a3a # bright black
bright1=6a6a6a # bright gray
bright2=7a7a7a
bright3=8a8a8a
bright4=9a9a9a
bright5=bababa
bright6=dadada
bright7=ffffff # bright white

View file

@ -1,27 +0,0 @@
[colors]
foreground = dcd7ba
background = 1f1f28
selection-foreground = c8c093
selection-background = 2d4f67
regular0 = 090618
regular1 = c34043
regular2 = 76946a
regular3 = c0a36e
regular4 = 7e9cd8
regular5 = 957fb8
regular6 = 6a9589
regular7 = c8c093
bright0 = 727169
bright1 = e82424
bright2 = 98bb6c
bright3 = e6c384
bright4 = 7fb4ca
bright5 = 938aa9
bright6 = 7aa89f
bright7 = dcd7ba
16 = ffa066
17 = ff5d62

View file

@ -1,44 +0,0 @@
# oxocarbon-foot
# oxocarbon foot template by Boyd Kelly
# include in foot.ini like so:
# include=~/.config/foot/colours.ini
# must be included under [main], or untitled section at beginning of file
#dark reference
#base00: "#161616"
#base01: "#262626"
#base02: "#393939"
#base03: "#525252"
#base04: "#dde1e6"
#base05: "#f2f4f8"
#base06: "#ffffff"
#base07: "#08bdba"
#base08: "#3ddbd9"
#base09: "#78a9ff"
#base0A: "#ee5396"
#base0B: "#33b1ff"
#base0C: "#ff7eb6"
#base0D: "#42be65"
#base0E: "#be95ff"
#base0F: "#82cfff"
[colors]
foreground=ffffff #base06 white
background=161616 #base01 black
regular0=262626 # black
regular1=ff7eb6 # magenta
regular2=42be65 # green
regular3=ffe97b # yellow
regular4=33b1ff # blue
regular5=ee5396 # red
regular6=3ddbd9 # cyan
regular7=dde1e6 # white
bright0=393939 # black
bright1=ff7eb6 # magenta
bright2=42be65 # green
bright3=ffe97b # yellow
bright4=33b1ff # blue
bright5=ee5396 # red
bright6=3ddbd9 # cyan
bright7=ffffff # white

View file

@ -1,30 +0,0 @@
[colors]
foreground=c0caf5
background=1a1b26
selection-foreground=c0caf5
selection-background=283457
urls=73daca
cursor=1a1b26 e0af68
regular0=15161e
regular1=f7768e
regular2=9ece6a
regular3=e0af68
regular4=7aa2f7
regular5=bb9af7
regular6=7dcfff
regular7=a9b1d6
bright0=414868
bright1=f7768e
bright2=9ece6a
bright3=e0af68
bright4=7aa2f7
bright5=bb9af7
bright6=7dcfff
bright7=c0caf5
16=ff9e64
17=db4b4b
# night variant.

View file

@ -1,4 +1,4 @@
{ {lib, ...}: {
services.dunst = { services.dunst = {
enable = true; enable = true;
@ -9,31 +9,10 @@
transparency = 50; transparency = 50;
frame_width = 1; frame_width = 1;
timeout = 3; timeout = 3;
font = "Maple Mono NF 10"; font = lib.mkForce "Maple Mono NF 10";
icon_corner_radius = 0; icon_corner_radius = 0;
min_icon_size = 56; min_icon_size = 56;
}; };
urgency_low = {
background = "#000000";
foreground = "#ffffff";
frame_color = "#ffffff";
timeout = 3;
};
urgency_normal = {
background = "#000000";
foreground = "#ffffff";
frame_color = "#ffffff";
timeout = 3;
};
urgency_critical = {
background = "#000000";
foreground = "#ffffff";
frame_color = "#ffffff";
timeout = 5;
};
}; };
}; };
} }

View file

@ -0,0 +1,5 @@
{
programs.firefox = {
enable = true;
};
}

View file

@ -1,11 +0,0 @@
{ pkgs, ... }:
{
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
];
};
}

View file

@ -0,0 +1,19 @@
{
pkgs,
inputs,
lib,
...
}: let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in {
programs.spicetify = {
enable = true;
enabledExtensions = with spicePkgs.extensions; [
adblock
hidePodcasts
];
theme = lib.mkForce spicePkgs.themes.text;
};
}

View file

@ -0,0 +1,34 @@
{pkgs, ...}: {
stylix = {
enable = true;
autoEnable = true;
polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
icons = {
enable = true;
package = pkgs.papirus-icon-theme;
dark = "Papirus-Dark";
light = "Papirus-Light";
};
fonts = {
serif = {
package = pkgs.maple-mono.NF;
name = "Maple Mono NF";
};
sansSerif = {
package = pkgs.maple-mono.NF;
name = "Maple Mono NF";
};
monospace = {
package = pkgs.maple-mono.NF;
name = "Maple Mono NF";
};
};
};
stylix.targets.sway.enable = true;
stylix.targets.nixvim.enable = false;
stylix.targets.spicetify.enable = false;
}

View file

@ -2,9 +2,7 @@
programs.tofi = { programs.tofi = {
enable = true; enable = true;
settings = { settings = {
background-color = "#000000cc";
border-width = 0; border-width = 0;
font = "monospace";
height = "100%"; height = "100%";
num-results = 5; num-results = 5;
outline-width = 0; outline-width = 0;

View file

@ -1,18 +0,0 @@
{
programs.wofi = {
enable = true;
style = ./style.css;
settings = {
show = "drun";
width = 750;
height = 400;
always_parse_args = true;
show_all = false;
term = "foot";
hide_scroll = true;
print_command = true;
insensitive = true;
columns = 1;
};
};
}

View file

@ -1,35 +0,0 @@
window {
background-color: #1a1b26;
border: none;
}
#input {
padding: 0.6em 0.8em;
background-color: #24283b;
color: #c0caf5;
border: none;
font-size: 14px;
}
#entry {
padding: 0.6em 0.8em;
color: #c0caf5;
background: transparent;
border: none;
font-size: 14px;
}
#entry:selected {
background-color: #7aa2f7;
color: #1a1b26;
font-weight: bold;
}
#text {
color: inherit;
}
#text:selected {
color: #1a1b26;
font-weight: bold;
}

View file

@ -3,18 +3,15 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: let
let
wallpaperScript = pkgs.writeShellScriptBin "random-wallpaper" '' wallpaperScript = pkgs.writeShellScriptBin "random-wallpaper" ''
pkill -x wbg 2>/dev/null || true pkill -f swaybg 2>/dev/null || true
walp=$(find "$HOME/wallpapers" -type f \( -iname "*.jpg" -o -iname "*.png" \) | shuf -n 1) walp=$(find "$HOME/wallpapers" -type f \( -iname "*.jpg" -o -iname "*.png" \) | shuf -n 1)
[ -n "$walp" ] && ${pkgs.wbg}/bin/wbg "$walp" & [ -n "$walp" ] && ${pkgs.swaybg}/bin/swaybg -m "fill" -i "$walp" &
''; '';
in in {
{ home.packages = [wallpaperScript];
home.packages = [ wallpaperScript ];
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
@ -23,7 +20,7 @@ in
config = rec { config = rec {
modifier = "Mod4"; modifier = "Mod4";
terminal = "foot"; terminal = "foot";
menu = "exec $(tofi-drun)"; menu = "exec $(tofi-run)";
# outputs # outputs
output."*" = { output."*" = {
@ -33,7 +30,7 @@ in
# startup # startup
startup = [ startup = [
{ command = "${wallpaperScript}/bin/random-wallpaper"; } {command = "${wallpaperScript}/bin/random-wallpaper";}
]; ];
# input # input
@ -50,8 +47,8 @@ in
}; };
# borders # borders
window.border = 1; window.border = 0;
floating.border = 1; floating.border = 0;
# focus # focus
focus.followMouse = true; focus.followMouse = true;
@ -60,7 +57,7 @@ in
keybindings = lib.mkOptionDefault { keybindings = lib.mkOptionDefault {
# screenshots # screenshots
"${modifier}+Shift+Print" = "exec ~/bin/grimblast copy screen"; "${modifier}+Shift+Print" = "exec ~/bin/grimblast copy screen";
"${modifier}+Print" = "exec ~/bin/grimblast copy area --freeze"; "${modifier}+Print" = "exec ~/bin/grimblast --freeze copy area";
# launchers # launchers
"${modifier}+space" = "exec ${menu}"; "${modifier}+space" = "exec ${menu}";
@ -114,7 +111,7 @@ in
Return = "mode default"; Return = "mode default";
}; };
bars = [ ]; bars = [];
}; };
extraConfig = '' extraConfig = ''
@ -123,8 +120,8 @@ in
for_window [app_id=".*"] opacity $opacity for_window [app_id=".*"] opacity $opacity
# borders # borders
default_border pixel 1 default_border pixel 0
default_floating_border pixel 1 default_floating_border pixel 0
# colors # colors
client.focused #3a3a3a #000000 #ffffff #3a3a3a #3a3a3a client.focused #3a3a3a #000000 #ffffff #3a3a3a #3a3a3a

View file

@ -1,5 +1,4 @@
{ inputs, ... }: {inputs, ...}: {
{
imports = [ imports = [
inputs.spicetify-nix.nixosModules.default inputs.spicetify-nix.nixosModules.default
@ -12,7 +11,6 @@
./modules/programs.nix ./modules/programs.nix
./modules/boot.nix ./modules/boot.nix
./modules/fonts.nix ./modules/fonts.nix
./modules/spicetify.nix
# gaming shi # gaming shi
./modules/gaming.nix ./modules/gaming.nix

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
environment.sessionVariables = { environment.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1"; WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
@ -34,15 +33,12 @@
# email client # email client
thunderbird thunderbird
# browser
firefox
# wayland # wayland
wbg
apple-cursor apple-cursor
swaybg
]; ];
environment.gnome.excludePackages = [ pkgs.gnome-tour ]; environment.gnome.excludePackages = [pkgs.gnome-tour];
services.xserver.excludePackages = [ pkgs.xterm ]; services.xserver.excludePackages = [pkgs.xterm];
services.xserver.desktopManager.xterm.enable = false; services.xserver.desktopManager.xterm.enable = false;
} }

View file

@ -1,42 +0,0 @@
{
pkgs,
inputs,
...
}:
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{
programs.spicetify = {
enable = true;
enabledExtensions = with spicePkgs.extensions; [
adblock
hidePodcasts
];
theme = spicePkgs.themes.text;
colorScheme = "custom";
customColorScheme = {
text = "FFFFFF";
subtext = "C0C0C0";
sidebar-text = "FFFFFF";
main = "000000";
sidebar = "1A1A1A";
player = "000000";
card = "121212";
shadow = "000000";
selected-row = "404040";
button = "B0B0B0";
button-active = "FFFFFF";
button-disabled = "4A4A4A";
tab-active = "FFFFFF";
notification = "121212";
notification-error = "FFFFFF";
misc = "000000";
};
};
}