🖌️ Goodbye Stylix

- Added theming to Btop
- Added theming to Nvim and removed bufferline plugin
- Added mode to theme.nix to change from light theme to dark theme
- Replaced Starship theme with Catppuccin starship theme
- Added QT platformtheme ENV
- Moved wallpapers into wallpaper dir
- Replaced image of desktop1 with more up to date one
This commit is contained in:
Martin Berg Alstad 2025-01-12 17:38:51 +01:00
parent f7e4fc7638
commit 6fbe3a6da0
Signed by: martials
GPG Key ID: 706F53DD087A91DE
22 changed files with 55 additions and 542 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@ -29,5 +29,4 @@ rec {
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.version = "24.11";
terminal = default.terminal; # TODO remove
}

328
flake.lock generated
View File

@ -44,72 +44,6 @@
"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": 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"
}
},
"catppuccin": {
"inputs": {
"catppuccin-v1_1": "catppuccin-v1_1",
@ -183,22 +117,6 @@
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1734969791,
"narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": {
"locked": {
"lastModified": 1696426674,
@ -229,22 +147,6 @@
"type": "github"
}
},
"flake-compat_3": {
"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": [
@ -302,43 +204,6 @@
"type": "github"
}
},
"flake-utils_3": {
"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"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
@ -365,37 +230,6 @@
"type": "github"
}
},
"git-hooks_2": {
"inputs": {
"flake-compat": [
"stylix",
"flake-compat"
],
"gitignore": "gitignore_2",
"nixpkgs": [
"stylix",
"nixpkgs"
],
"nixpkgs-stable": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
@ -418,45 +252,6 @@
"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"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -542,28 +337,6 @@
"type": "github"
}
},
"home-manager_4": {
"inputs": {
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733572789,
"narHash": "sha256-zjO6m5BqxXIyjrnUziAzk4+T4VleqjstNudSqWcpsHI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c7ffc9727d115e433fd884a62dc164b587ff651d",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
},
"hyprpanel": {
"inputs": {
"ags": "ags",
@ -825,7 +598,6 @@
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
"spicetify-nix": "spicetify-nix",
"stylix": "stylix",
"zen-browser": "zen-browser"
}
},
@ -850,41 +622,6 @@
"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_3",
"flake-utils": "flake-utils_3",
"git-hooks": "git-hooks_2",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_4",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
},
"locked": {
"lastModified": 1736381946,
"narHash": "sha256-k66y4eMHZiJO3N43wuZOdoRmGmNwIj3EZq6NGK+AEM8=",
"owner": "danth",
"repo": "stylix",
"rev": "c62df1918d178ade64dc8a2df99e78a5d5f20514",
"type": "github"
},
"original": {
"owner": "danth",
"ref": "release-24.11",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -915,71 +652,6 @@
"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": 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"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [

View File

@ -24,23 +24,15 @@
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser.url = "github:0xc000022070/zen-browser-flake";
};
outputs =
inputs@{
self, # Get a ref to outputs
catppuccin,
nixpkgs,
nixpkgs-unstable,
home-manager,
hyprpanel,
spicetify-nix,
stylix,
...
}:
let
@ -71,7 +63,6 @@
users.${common.username} = import ./home-manager;
};
}
stylix.nixosModules.stylix
./overlays.nix
];
};

9
home-manager/btop.nix Normal file
View File

@ -0,0 +1,9 @@
let
theme = import ../theme.nix;
in
{
catppuccin.btop = {
enable = true;
flavor = theme.flavor;
};
}

View File

@ -12,6 +12,7 @@ in
imports = [
inputs.catppuccin.homeManagerModules.catppuccin
inputs.nixvim.homeManagerModules.nixvim
./btop.nix
./cava.nix
./default-applications.nix
./development

View File

@ -1,13 +1,13 @@
# Neovim configuration for Nix
{
home.sessionVariables = {
EDITOR = "nvim";
};
catppuccin.nvim.enable = true;
programs.nixvim = {
enable = true;
clipboard.providers.wl-copy.enable = true;
colorschemes.catppuccin.enable = true;
defaultEditor = true;
vimdiffAlias = true; # Alias vimdiff to nvim -d
opts = {
number = true; # Show line numbers
@ -17,7 +17,7 @@
};
plugins = {
bufferline.enable = true;
bufferline.enable = false;
# Formatters
conform-nvim = {
@ -53,8 +53,17 @@
};
treesitter.enable = true;
web-devicons.enable = true;
};
extraConfigLua = ''
-- Translucent background
vim.cmd [[
highlight Normal guibg=none
highlight NonText guibg=none
highlight Normal ctermbg=none
highlight NonText ctermbg=none
]]
'';
};
}

View File

@ -22,8 +22,8 @@
ui_font_size = fontSize;
buffer_font_size = fontSize;
theme = {
mode = "system";
light = "Catppuccin Frappé";
mode = theme.mode;
light = "Catppuccin Latte";
dark = "Catppuccin Mocha";
};
lsp.nil.initialization_options.formatting.command = [ "nixfmt" ];

View File

@ -1,14 +1,19 @@
{ pkgs, lib, ... }:
{ pkgs, ... }:
let
replace =
from: to: current:
if current == from then to else current;
toSingleLine =
with lib.strings;
s: concatMapStrings (stringAsChars (replace "\n" "")) (splitString "\n" s);
theme = import ../theme.nix;
in
{
catppuccin = {
fish = {
enable = true;
flavor = theme.flavor;
};
starship = {
enable = true;
flavor = theme.flavor;
};
};
programs = {
fish = {
enable = true;
@ -26,171 +31,16 @@ in
];
};
# TODO catppuccin colours on all parts
starship = {
enable = true;
settings = {
format = toSingleLine ''
[](#${theme.mantleAlpha})
$os
$username
[](bg:#${theme.lavenderAlpha} fg:#${theme.mantleAlpha})
$directory
[](fg:#${theme.lavenderAlpha} bg:#${theme.blueAlpha})
$git_branch
$git_status
[](fg:#${theme.blueAlpha} bg:#86BBD8)
$c
$elixir
$elm
$golang
$gradle
$haskell
$java
$julia
$nodejs
$nim
$rust
$scala
[](fg:#86BBD8 bg:#06969A)
$docker_context
[](fg:#06969A bg:#33658A)
$time
[ ](fg:#33658A)
'';
# Disable the blank line at the start of the prompt
# add_newline = false
# You can also replace your username with a neat symbol like  or disable this
# and use the os module below
username = {
show_always = false;
style_user = "bg:#${theme.crustAlpha}";
style_root = "bg:#${theme.mantleAlpha}";
format = "[$user]($style) in ";
disabled = false;
};
os = {
style = "bg:#${theme.mantleAlpha}";
disabled = false;
};
directory = {
style = "bg:#${theme.lavenderAlpha} fg:#${theme.baseAlpha}";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "/";
};
# Here is how you can shorten some long paths by text replacement
# similar to mapped_locations in Oh My Posh:
directory.substitutions = {
"Documents" = "󰈙 ";
"Downloads" = " ";
"Music" = "󰓃 ";
"Pictures" = " ";
};
# Keep in mind that the order matters. For example:
# "Important Documents" = " 󰈙 "
# will not be replaced, because "Documents" was already substituted before.
# So either put "Important Documents" before "Documents" or use the substituted version:
# "Important 󰈙 " = " 󰈙 "
c = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
docker_context = {
symbol = " ";
style = "bg:#06969A";
format = "[ $symbol $context ]($style)";
};
elixir = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
elm = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
git_branch = {
symbol = " ";
style = "bg:#${theme.blueAlpha} fg:#${theme.baseAlpha}";
format = "[ $symbol $branch ]($style)";
};
git_status = {
style = "bg:#${theme.blueAlpha} fg:#${theme.baseAlpha}";
format = "[$all_status$ahead_behind ]($style)";
};
golang = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
gradle = {
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
haskell = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
java = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
julia = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
nodejs = {
symbol = "";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
nim = {
symbol = "󰆥 ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
rust = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
scala = {
symbol = " ";
style = "bg:#86BBD8";
format = "[ $symbol ($version) ]($style)";
};
time = {
disabled = false;
time_format = "%R"; # Hour:Minute Format
style = "bg:#33658A";
format = "[ $time ]($style)";
"Git" = " ";
"nextcloud" = " ";
};
};
};

View File

@ -8,6 +8,4 @@ in
flavor = theme.flavor;
icon.enable = true;
};
stylix.targets.gtk.enable = false;
}

View File

@ -2,6 +2,7 @@ let
common = import ../../common.nix;
in
{
# TODO not working?
home.sessionVariables = {
HYPRSHOT_DIR = "${common.dir.pictures}/screenshots"; # Store screenshots here
};

View File

@ -18,6 +18,4 @@ in
window_padding_width = 10;
};
};
stylix.targets.kitty.enable = false;
}

View File

@ -11,7 +11,6 @@
./sddm.nix
./security.nix
./steam.nix
./stylix.nix
./terminal
./qt.nix
];

View File

@ -10,6 +10,6 @@ in
programs.nautilus-open-any-terminal = {
enable = true;
terminal = common.terminal;
terminal = common.default.terminal;
};
}

View File

@ -1,11 +1,16 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs.kdePackages; [
qtwayland
qtsvg
qt6ct
];
environment = {
sessionVariables = {
QT_QPA_PLATFORMTHEME = "qt6ct";
};
systemPackages = with pkgs.kdePackages; [
qtwayland
qtsvg
qt6ct
];
};
qt.enable = true;
}

View File

@ -9,7 +9,7 @@ in
flavor = flavor;
font = theme.nerdFont;
fontSize = "9";
background = "${../catppuccin_high.png}";
background = "${../wallpapers/catppuccin_high.png}";
loginBackground = true;
})
];
@ -17,7 +17,6 @@ in
services.displayManager.sddm = {
enable = true;
theme = "catppuccin-${flavor}";
autoNumlock = true; # Enable numlock at login # TODO doesn't work
wayland.enable = true;
package = pkgs.kdePackages.sddm;
};

View File

@ -1,19 +0,0 @@
{ pkgs, ... }:
let
theme = import ../theme.nix;
in
{
stylix = {
enable = true;
image = ../tropic_island_night.jpg; # TODO overrides swww
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${theme.flavor}.yaml";
polarity = "dark";
opacity.terminal = 0.8;
# Override some colours because of bad contrast
override = {
base02 = "b0b0b0"; # Comments in shell
base03 = "b0b0b0"; # Comments in nvim
base04 = "b0b0b0"; # Secondary text in shell
};
};
}

View File

@ -1,6 +1,7 @@
rec {
theme = "catppuccin";
flavor = "mocha";
mode = "dark";
nerdFont = "JetBrainsMono";

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

BIN
wallpapers/downtown.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

Before

Width:  |  Height:  |  Size: 4.0 MiB

After

Width:  |  Height:  |  Size: 4.0 MiB