Add stylix

This commit is contained in:
GHOSCHT 2024-12-02 20:15:40 +01:00
parent e23ee8e96e
commit 743258bb44
Signed by: ghoscht
GPG key ID: 2C2C1C62A5388E82
20 changed files with 824 additions and 583 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,44 +1,71 @@
{ {
description = "Your new nix config"; description = "GHOSCHT's NixOS config";
inputs = { inputs = {
# Nixpkgs # Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
# You can access packages and modules from different nixpkgs revs
# at the same time. Here's an working example:
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
# Home manager # Home manager
home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager = {
home-manager.inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
hardware.url = "github:nixos/nixos-hardware"; hardware = {
url = "github:nixos/nixos-hardware";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-colors.url = "github:misterio77/nix-colors";
firefox-addons = { firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
arkenfox = { arkenfox = {
url = "github:dwarfmaster/arkenfox-nixos"; url = "github:dwarfmaster/arkenfox-nixos";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
xremap.url = "github:xremap/nix-flake";
flatpaks.url = "github:GermanBread/declarative-flatpak/stable-v3";
heliox-cli.url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming";
picokontroller.url = "git+https://git.ghoscht.com/ghoscht/picoKontroller";
sops-nix.url = "github:Mic92/sops-nix";
arion.url = "github:hercules-ci/arion";
xremap = {
url = "github:xremap/nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
flatpaks = {
url = "github:GermanBread/declarative-flatpak/stable-v3";
inputs.nixpkgs.follows = "nixpkgs";
};
heliox-cli = {
url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming";
inputs.nixpkgs.follows = "nixpkgs";
};
picokontroller = {
url = "git+https://git.ghoscht.com/ghoscht/picoKontroller";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
arion = {
url = "github:hercules-ci/arion";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = { nixvim = {
url = "github:nix-community/nixvim/nixos-24.11"; url = "github:nix-community/nixvim/nixos-24.11";
@ -46,12 +73,13 @@
}; };
}; };
outputs = { outputs =
self, { self
nixpkgs, , nixpkgs
home-manager, , home-manager
... , ...
} @ inputs: let } @ inputs:
let
inherit (self) outputs; inherit (self) outputs;
# Supported systems for your flake packages, shell, etc. # Supported systems for your flake packages, shell, etc.
systems = [ systems = [
@ -65,7 +93,8 @@
# pass to it, with each system as an argument # pass to it, with each system as an argument
forAllSystems = nixpkgs.lib.genAttrs systems; forAllSystems = nixpkgs.lib.genAttrs systems;
vars = import ./vars.nix; vars = import ./vars.nix;
in { in
{
# Your custom packages # Your custom packages
# Accessible through 'nix build', 'nix shell', etc # Accessible through 'nix build', 'nix shell', etc
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});

View file

@ -11,11 +11,8 @@ in {
./features/games ./features/games
./features/coding ./features/coding
./features/desktop/common/3d-printing.nix ./features/desktop/common/3d-printing.nix
inputs.nix-colors.homeManagerModules.default
]; ];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
home.packages = [ home.packages = [
inputs.picokontroller.packages.x86_64-linux.default inputs.picokontroller.packages.x86_64-linux.default
# pkgs.citrix_workspace # pkgs.citrix_workspace

View file

@ -1,6 +1,5 @@
{ {
programs.bat = { programs.bat = {
enable = true; enable = true;
config.theme = "base16";
}; };
} }

View file

@ -2,7 +2,6 @@
programs.btop = { programs.btop = {
enable = true; enable = true;
settings = { settings = {
color_theme = "nix-colors";
theme_background = false; theme_background = false;
truecolor = true; truecolor = true;
vim_keys = true; vim_keys = true;
@ -10,89 +9,4 @@
proc_gradient = false; proc_gradient = false;
}; };
}; };
xdg.configFile."btop/themes/nix-colors".text = ''
# Main background, empty for terminal default, need to be empty if you want transparent background
# theme[main_bg]="#${config.colorScheme.colors.base00}"
# Main text color
theme[main_fg]="#${config.colorScheme.colors.base05}"
# Title color for boxes
theme[title]="#${config.colorScheme.colors.base05}"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#${config.colorScheme.colors.base0D}"
# Background color of selected item in processes box
theme[selected_bg]="#${config.colorScheme.colors.base03}"
# Foreground color of selected item in processes box
theme[selected_fg]="#${config.colorScheme.colors.base0D}"
# Color of inactive/disabled text
theme[inactive_fg]="#${config.colorScheme.colors.base02}"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#${config.colorScheme.colors.base06}"
# Background color of the percentage meters
theme[meter_bg]="#${config.colorScheme.colors.base03}"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#${config.colorScheme.colors.base06}"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#${config.colorScheme.colors.base0E}" #Mauve
theme[mem_box]="#${config.colorScheme.colors.base0B}" #Green
theme[net_box]="#${config.colorScheme.colors.base08}" #Maroon
theme[proc_box]="#${config.colorScheme.colors.base0D}" #Blue
# Box divider line and small boxes line color
theme[div_line]="#${config.colorScheme.colors.base04}"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#${config.colorScheme.colors.base0B}"
theme[temp_mid]="#${config.colorScheme.colors.base0A}"
theme[temp_end]="#${config.colorScheme.colors.base08}"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#${config.colorScheme.colors.base0C}"
theme[cpu_mid]="#${config.colorScheme.colors.base0D}"
theme[cpu_end]="#${config.colorScheme.colors.base07}"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#${config.colorScheme.colors.base0E}"
theme[free_mid]="#${config.colorScheme.colors.base07}"
theme[free_end]="#${config.colorScheme.colors.base0D}"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#${config.colorScheme.colors.base0D}"
theme[cached_mid]="#${config.colorScheme.colors.base0D}"
theme[cached_end]="#${config.colorScheme.colors.base07}"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#${config.colorScheme.colors.base0F}"
theme[available_mid]="#${config.colorScheme.colors.base09}"
theme[available_end]="#${config.colorScheme.colors.base08}"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#${config.colorScheme.colors.base0B}"
theme[used_mid]="#${config.colorScheme.colors.base0C}"
theme[used_end]="#${config.colorScheme.colors.base0D}"
# Download graph colors (Peach -> Red)
theme[download_start]="#${config.colorScheme.colors.base0F}"
theme[download_mid]="#${config.colorScheme.colors.base09}"
theme[download_end]="#${config.colorScheme.colors.base08}"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#${config.colorScheme.colors.base0B}"
theme[upload_mid]="#${config.colorScheme.colors.base0C}"
theme[upload_end]="#${config.colorScheme.colors.base0D}"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="#${config.colorScheme.colors.base0D}"
theme[process_mid]="#${config.colorScheme.colors.base0C}"
theme[process_end]="#${config.colorScheme.colors.base0E}"
'';
} }

View file

@ -1,21 +1,5 @@
{config, ...}: { {config, ...}: {
programs.lazygit = { programs.lazygit = {
enable = true; enable = true;
settings = with config.colorScheme.colors; {
gui = {
theme = {
activeBorderColor = ["#${base0D}" "bold"];
inactiveBorderColor = ["#${base05}"];
optionsTextColor = ["#${base0D}"];
selectedLineBgColor = ["${base02}"];
selectedRangeBgColor = ["${base02}"];
cherryPickedCommitBgColor = ["#${base03}"];
cherryPickedCommitFgColor = ["#${base0D}"];
unstagedChangesColor = ["#${base08}"];
defaultFgColor = ["#${base05}"];
searchingActiveBorderColor = ["#${base0A}"];
};
};
};
}; };
} }

View file

@ -6,7 +6,6 @@
... ...
}: let }: let
vars = import ../../../../vars.nix; vars = import ../../../../vars.nix;
colors = config.colorScheme.colors;
stableExtraPkgs = with pkgs; [ stableExtraPkgs = with pkgs; [
# LSP # LSP
lua-language-server lua-language-server
@ -134,18 +133,6 @@ in {
vim-nix vim-nix
{
plugin = base16-nvim;
config = ''
require('base16-colorscheme').setup({
base00 = '#${colors.base00}', base01 = '#${colors.base01}', base02 = '#${colors.base02}', base03 = '#${colors.base03}',
base04 = '#${colors.base04}', base05 = '#${colors.base05}', base06 = '#${colors.base06}', base07 = '#${colors.base07}',
base08 = '#${colors.base08}', base09 = '#${colors.base09}', base0A = '#${colors.base0A}', base0B = '#${colors.base0B}',
base0C = '#${colors.base0C}', base0D = '#${colors.base0D}', base0E = '#${colors.base0E}', base0F = '#${colors.base0F}',
})'';
type = "lua";
}
{ {
plugin = lualine-nvim; plugin = lualine-nvim;
config = builtins.readFile ./plugin/lualine.lua; config = builtins.readFile ./plugin/lualine.lua;

View file

@ -31,9 +31,6 @@ in {
]; ];
userSettings = { userSettings = {
#Theming #Theming
"workbench.colorTheme" = "Catppuccin Mocha";
"catppuccin.accentColor" = "green";
"workbench.iconTheme" = "material-icon-theme";
"window.menuBarVisibility" = "toggle"; "window.menuBarVisibility" = "toggle";
"editor.minimap.autohide" = false; "editor.minimap.autohide" = false;
#Extensions - General #Extensions - General

View file

@ -1,47 +1,9 @@
{pkgs, ...}: { {
programs.zathura = { programs.zathura = {
enable = true; enable = true;
options = { options = {
selection-clipboard = "clipboard"; selection-clipboard = "clipboard";
statusbar-home-tilde = true; statusbar-home-tilde = true;
default-fg = "#CDD6F4";
default-bg = "#1E1E2E";
completion-bg = "#313244";
completion-fg = "#CDD6F4";
completion-highlight-bg = "#575268";
completion-highlight-fg = "#CDD6F4";
completion-group-bg = "#313244";
completion-group-fg = "#89B4FA";
statusbar-fg = "#CDD6F4";
statusbar-bg = "#313244";
notification-bg = "#313244";
notification-fg = "#CDD6F4";
notification-error-bg = "#313244";
notification-error-fg = "#F38BA8";
notification-warning-bg = "#313244";
notification-warning-fg = "#FAE3B0";
inputbar-fg = "#CDD6F4";
inputbar-bg = "#313244";
recolor-lightcolor = "#1E1E2E";
recolor-darkcolor = "#CDD6F4";
index-fg = "#CDD6F4";
index-bg = "#1E1E2E";
index-active-fg = "#CDD6F4";
index-active-bg = "#313244";
render-loading-bg = "#1E1E2E";
render-loading-fg = "#CDD6F4";
highlight-color = "#575268";
highlight-fg = "#F5C2E7";
highlight-active-color = "#F5C2E7";
}; };
}; };
} }

View file

@ -1,8 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
./theming.nix
./firefox.nix ./firefox.nix
./alacritty.nix
./wezterm.nix ./wezterm.nix
./font.nix ./font.nix
./playerctl.nix ./playerctl.nix

View file

@ -1,8 +1,7 @@
{ { inputs
inputs, , pkgs
pkgs, , vars
vars, , ...
...
}: { }: {
imports = [ inputs.arkenfox.hmModules.default ]; imports = [ inputs.arkenfox.hmModules.default ];
home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json"; home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json";
@ -22,6 +21,10 @@
darkreader darkreader
tabliss tabliss
consent-o-matic consent-o-matic
floccus
gesturefy
plasma-integration
libredirect
# bypass-paywalls-clean # bypass-paywalls-clean
]; ];
@ -50,7 +53,7 @@
"Home Manager" = { "Home Manager" = {
urls = [ urls = [
{ {
template = "https://mipmip.github.io/home-manager-option-search"; template = "https://home-manager-options.extranix.com";
params = [ params = [
{ {
name = "query"; name = "query";

View file

@ -3,8 +3,6 @@
services.flatpak = { services.flatpak = {
remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo"; remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo";
packages = [ packages = [
"flathub:app/us.zoom.Zoom//stable"
"flathub:app/com.discordapp.Discord//stable"
"flathub:app/md.obsidian.Obsidian//stable" "flathub:app/md.obsidian.Obsidian//stable"
"flathub:app/com.github.iwalton3.jellyfin-media-player//stable" "flathub:app/com.github.iwalton3.jellyfin-media-player//stable"
]; ];

View file

@ -1,33 +0,0 @@
{pkgs, ...}: {
home.pointerCursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 25;
x11.enable = true;
gtk.enable = true;
};
# gtk.cursorTheme.package = pkgs.bibata-cursors;
# gtk.cursorTheme.name = "Bibata-Modern-Ice";
# home.file.".icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
# xdg.dataFile."icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
gtk = {
enable = true;
theme.package = pkgs.adw-gtk3;
theme.name = "adw-gtk3-dark";
iconTheme.package = pkgs.papirus-icon-theme;
iconTheme.name = "Papirus";
};
qt = {
enable = true;
platformTheme.name = "gtk";
style.package = with pkgs; [adwaita-qt adwaita-qt6];
style.name = "adwaita-dark";
};
home.packages = with pkgs; [
libsForQt5.qt5.qtquickcontrols2
libsForQt5.qt5.qtgraphicaleffects
];
}

View file

@ -5,44 +5,11 @@
}: { }: {
programs.wezterm = { programs.wezterm = {
enable = true; enable = true;
colorSchemes = {
"${config.colorscheme.slug}" = with config.colorScheme; {
foreground = "#${colors.base05}";
background = "#${colors.base00}";
ansi = [
"#${colors.base00}"
"#${colors.base08}"
"#${colors.base0B}"
"#${colors.base0A}"
"#${colors.base0D}"
"#${colors.base0E}"
"#${colors.base0C}"
"#${colors.base05}"
];
brights = [
"#${colors.base03}"
"#${colors.base08}"
"#${colors.base0B}"
"#${colors.base0A}"
"#${colors.base0D}"
"#${colors.base0E}"
"#${colors.base0C}"
"#${colors.base07}"
];
cursor_fg = "#${colors.base00}";
cursor_bg = "#${colors.base05}";
selection_fg = "#${colors.base00}";
selection_bg = "#${colors.base05}";
};
};
extraConfig = '' extraConfig = ''
return { return {
front_end = "WebGpu", -- fixes https://github.com/wez/wezterm/issues/5990H
warn_about_missing_glyphs=false, warn_about_missing_glyphs=false,
font = wezterm.font("${config.fontProfiles.monospace.family}"), -- window_background_opacity = 0.83,
font_size = 12.0,
window_background_opacity = 0.83,
color_scheme = "${config.colorscheme.slug}",
hide_tab_bar_if_only_one_tab = true, hide_tab_bar_if_only_one_tab = true,
window_close_confirmation = "NeverPrompt", window_close_confirmation = "NeverPrompt",
use_ime = true, use_ime = true,

View file

@ -8,11 +8,8 @@ in {
./global ./global
./features/coding/nvim ./features/coding/nvim
./features/coding/tmux.nix ./features/coding/tmux.nix
inputs.nix-colors.homeManagerModules.default
]; ];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
home.file.".docker" = { home.file.".docker" = {
source = ../rsc/docker/franz; source = ../rsc/docker/franz;
recursive = true; recursive = true;

View file

@ -10,12 +10,10 @@ in {
./features/desktop/awesome ./features/desktop/awesome
./features/desktop/gnome ./features/desktop/gnome
./features/coding ./features/coding
inputs.nix-colors.homeManagerModules.default
]; ];
home.packages = with pkgs; [nextcloud-client]; home.packages = with pkgs; [nextcloud-client];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
nixpkgs = { nixpkgs = {
config = { config = {
permittedInsecurePackages = [ permittedInsecurePackages = [

View file

@ -0,0 +1,37 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.stylix.nixosModules.stylix];
stylix = {
enable = true;
polarity = "dark";
image = ../../../rsc/wallpaper/rolltreppe-gluehwein.jpg;
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
# targets = {nixvim.transparentBackground.signColumn = true;};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 25;
};
fonts = {
monospace = {
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
};
};
}

View file

@ -35,6 +35,7 @@
../common/optional/udisks.nix ../common/optional/udisks.nix
../common/optional/tailscale.nix ../common/optional/tailscale.nix
../common/optional/fhs-compat.nix ../common/optional/fhs-compat.nix
../common/optional/stylix.nix
]; ];
nixpkgs = { nixpkgs = {

View file

@ -17,7 +17,7 @@ local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
local theme = {} local theme = {}
theme.dir = os.getenv("HOME") .. "/.config/awesome/" theme.dir = os.getenv("HOME") .. "/.config/awesome/"
theme.wallpaper_dir = os.getenv("HOME") .. "/.wallpapers/" theme.wallpaper_dir = os.getenv("HOME") .. "/.wallpapers/"
theme.wallpaper = theme.wallpaper_dir .. "/rolltreppe-glühwein.jpg" theme.wallpaper = theme.wallpaper_dir .. "/rolltreppe-gluehwein.jpg"
theme.font = "JetBrainsMono Nerd Font 9" theme.font = "JetBrainsMono Nerd Font 9"
theme.fg_normal = colors.text theme.fg_normal = colors.text
theme.fg_focus = colors.teal theme.fg_focus = colors.teal

View file

Before

Width:  |  Height:  |  Size: 11 MiB

After

Width:  |  Height:  |  Size: 11 MiB