This commit is contained in:
2025-12-11 17:17:21 +01:00
commit 3add673455
43 changed files with 2799 additions and 0 deletions

407
home-manager/flake.lock generated Normal file
View File

@@ -0,0 +1,407 @@
{
"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": 1754405784,
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"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": 1764724327,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"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": 1764524476,
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell",
"type": "gitlab"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1765461410,
"narHash": "sha256-AVZ1y5tfTGqf5zJx6uY52KHN2pP9gGF9RMQ3meBVKIg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7b34e428f31ce52baabda53e52bf14002e1c0625",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1765186076,
"narHash": "sha256-hM20uyap1a0M9d344I692r+ik4gTMyj60cQWO+hAYP8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "addf7cf5f383a3101ecfba091b98d0a1263dc9b8",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"noctalia": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1765420707,
"narHash": "sha256-lX0WxWosQbm3DrZhscVTiLLpJcoZvaQaZoP+eNt75wE=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "298b2f5c794d4641cde21cf20422224bf8a60f99",
"type": "github"
},
"original": {
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"type": "github"
}
},
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1764773531,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764663772,
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
"owner": "outfoxxed",
"repo": "quickshell",
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
"type": "github"
},
"original": {
"owner": "outfoxxed",
"repo": "quickshell",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"noctalia": "noctalia",
"quickshell": "quickshell",
"rust-overlay": "rust-overlay",
"stylix": "stylix"
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1765465581,
"narHash": "sha256-fCXT0aZXmTalM3NPCTedVs9xb0egBG5BOZkcrYo5PGE=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "99cc5667eece98bb35dcf35f7e511031a8b7a125",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"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",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1765386911,
"narHash": "sha256-YLjQpnTZCMjCho7ZDs5O1yFVw+fDlXq4lSJDuLWHHeA=",
"owner": "nix-community",
"repo": "stylix",
"rev": "cb6bbed75eaca21deb8950c2ec0036ae5cde18ca",
"type": "github"
},
"original": {
"owner": "nix-community",
"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": 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": 1763914658,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1764465359,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1764464512,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

50
home-manager/flake.nix Normal file
View File

@@ -0,0 +1,50 @@
{
description = "Home Manager configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
quickshell = {
url = "github:outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
};
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, rust-overlay, stylix, ... }@inputs: {
homeConfigurations.lusia = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
stylix.homeModules.stylix
./noctalia.nix
./home.nix
({ pkgs, ... }: {
nixpkgs.overlays = [ rust-overlay.overlays.default ];
home.packages = [ pkgs.rustup ];
})
];
extraSpecialArgs = { inherit inputs; };
};
};
}

211
home-manager/home.nix Normal file
View File

@@ -0,0 +1,211 @@
{ config, pkgs, inputs, ... }:
{
home.username = "lusia";
home.homeDirectory = "/home/lusia";
home.stateVersion = "24.11";
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
niri
btop
ripgrep
firefox-bin
claude-code
yazi
fastfetch
pywalfox-native
nautilus
loupe
gnome-text-editor
gnome-calculator
evince
vlc
p7zip
unzip
zip
unrar
file-roller
morewaita-icon-theme
codex
neovim
cargo-cross
filezilla
swayidle
python314
sshpass
dua
nh
nmap
lazygit
mpv
libreoffice-fresh
qbittorrent
gimp
mdcat
htop
vscode.fhs
blender
yt-dlp
ffmpeg
tor-browser
kdePackages.kleopatra
monero-gui
gnupg
pinentry-qt
libheif
exiftool
gnome-network-displays
dconf
jq
pywal
fd
openai-whisper
gparted
swww
tectonic
zathura
entr
waifu2x-converter-cpp
gnome-software
mission-center
kanshi
# Wrap PrismLauncher to fix Minecraft GLFW Wayland issues
(pkgs.symlinkJoin {
name = "prismlauncher";
paths = [ pkgs.prismlauncher ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/prismlauncher \
--set SDL_VIDEODRIVER "x11"
'';
})
# Wrap Krita to work with XWayland (Krita doesn't support native Wayland)
(pkgs.symlinkJoin {
name = "krita";
paths = [ pkgs.krita ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/krita \
--set DISPLAY ":0" \
--set QT_AUTO_SCREEN_SCALE_FACTOR "0" \
--set QT_SCALE_FACTOR "2" \
--set QT_FONT_DPI "96"
'';
})
];
# Set dark mode and Nautilus preferences
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/nautilus/preferences" = {
show-image-thumbnails = "always";
};
};
};
# Set morewaita as the default icon theme
gtk = {
enable = true;
iconTheme = {
name = "MoreWaita";
package = pkgs.morewaita-icon-theme;
};
# Stylix manages theme, commenting out manual config
# theme = {
# name = "Adwaita-dark";
# package = pkgs.gnome-themes-extra;
# };
cursorTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
# Force dark mode preference for GTK3
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
# Force dark mode preference for GTK4
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
size = 24;
gtk.enable = true;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
qt = {
enable = true;
platformTheme.name = "adwaita";
style = {
name = "adwaita-dark";
};
};
# Enable and configure git
programs.git = {
enable = true;
settings = {
user.name = "Lukrecja";
user.email = "lusiaaa425@gmail.com";
credential.helper = "store";
};
};
# Configure GPG agent with pinentry
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-qt;
enableSshSupport = true;
};
# OBS with plugins
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-backgroundremoval
obs-pipewire-audio-capture
obs-vaapi
];
};
programs.home-manager.enable = true;
# Stylix theming
stylix = {
enable = true;
# Wallpaper required by Stylix (even though we use swww to actually display it)
image = ./wallpaper;
# Use pywal's color scheme instead of extracting from image
# sync-colors.sh will generate colors.yaml here
base16Scheme = ./colors.yaml;
# Use dark mode
polarity = "dark";
# Disable Qt theming (it's janky and doesn't apply everywhere)
# targets.qt.enable = false;
};
}

18
home-manager/noctalia.nix Normal file
View File

@@ -0,0 +1,18 @@
{ pkgs, inputs, ... }:
{
# import the home manager module
#imports = [
# inputs.noctalia.homeModules.default
#];
# Install the package
home.packages = [
inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default
inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.default
];
# configure options
#programs.noctalia-shell = {
# enable = true;
#};
}