Compare commits

..

3 Commits

Author SHA1 Message Date
1b9d24ce15 refactor into modules 2026-03-10 22:39:50 +01:00
5f16717f9b hm update 2026-03-10 11:59:39 +01:00
f5ad771953 os update 2026-03-10 11:56:27 +01:00
16 changed files with 311 additions and 321 deletions

View File

@@ -1 +1 @@
/nix/store/fx1yq3cxgk9bq588csvpl56i4030c6fj-home-manager-files/.config/Kvantum/Base16Kvantum
/nix/store/l0q94ic1jhpljkank0472nd55mqhnnqf-home-manager-files/.config/Kvantum/Base16Kvantum

View File

@@ -1 +1 @@
/nix/store/fx1yq3cxgk9bq588csvpl56i4030c6fj-home-manager-files/.config/Kvantum/kvantum.kvconfig
/nix/store/l0q94ic1jhpljkank0472nd55mqhnnqf-home-manager-files/.config/Kvantum/kvantum.kvconfig

View File

@@ -1 +1 @@
/nix/store/fx1yq3cxgk9bq588csvpl56i4030c6fj-home-manager-files/.config/autostart/stylix-activate-gnome.desktop
/nix/store/l0q94ic1jhpljkank0472nd55mqhnnqf-home-manager-files/.config/autostart/stylix-activate-gnome.desktop

View File

@@ -1 +1 @@
/nix/store/fx1yq3cxgk9bq588csvpl56i4030c6fj-home-manager-files/.config/autostart/stylix-activate-kde.desktop
/nix/store/l0q94ic1jhpljkank0472nd55mqhnnqf-home-manager-files/.config/autostart/stylix-activate-kde.desktop

View File

@@ -97,11 +97,11 @@
]
},
"locked": {
"lastModified": 1772983984,
"narHash": "sha256-IcpFi8DLx0NvVuiDT2vsPH4b78QH9mNDtGofBW1pUDo=",
"lastModified": 1773106230,
"narHash": "sha256-ob/uMOU6CyRES+/SIxnMDhDAZUQr228JdBPKkGu8m/c=",
"owner": "sadjow",
"repo": "claude-code-nix",
"rev": "acc49fb45863d92670817d184b2e2aed8e8c9fd1",
"rev": "5cbf0a4eba950cdc7d7982774a9bc189ab21cb99",
"type": "github"
},
"original": {
@@ -118,11 +118,11 @@
]
},
"locked": {
"lastModified": 1773004139,
"narHash": "sha256-K1wp5XjvUiSa4nwdavMaudCCLbr/4eZOKteF1Md4fM0=",
"lastModified": 1773123705,
"narHash": "sha256-DMPua84KZeJqOVIVX0f6ptZubNUylRx5bCNak2+DYlY=",
"owner": "sadjow",
"repo": "codex-cli-nix",
"rev": "66895d1bf70a994e66eb5fdc48b2810ef75a1bd2",
"rev": "e64cdc2717566a86aad7b67db4039349d76cf1ea",
"type": "github"
},
"original": {
@@ -264,11 +264,11 @@
]
},
"locked": {
"lastModified": 1772985285,
"narHash": "sha256-wEEmvfqJcl9J0wyMgMrj1TixOgInBW/6tLPhWGoZE3s=",
"lastModified": 1773093840,
"narHash": "sha256-u/96NoAyN8BSRuM3ZimGf7vyYgXa3pLx4MYWjokuoH4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5be5d8245cbc7bc0c09fbb5f38f23f223c543f85",
"rev": "bb014746edb2a98d975abde4dd40fa240de4cf86",
"type": "github"
},
"original": {
@@ -301,11 +301,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1772773019,
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"lastModified": 1772963539,
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"rev": "9dcb002ca1690658be4a04645215baea8b95f31d",
"type": "github"
},
"original": {
@@ -339,11 +339,11 @@
"noctalia-qs": "noctalia-qs"
},
"locked": {
"lastModified": 1773058465,
"narHash": "sha256-i4fKQGI3z86KzYbx1ZThAAMhJsmYT40yJC5xvhmKyQA=",
"lastModified": 1773115433,
"narHash": "sha256-HFAf46oF74JfCSaDmdyjE7nyoW5mtyjb6fAsXaCAO58=",
"owner": "noctalia-dev",
"repo": "noctalia-shell",
"rev": "9536553dc5a6df38470b2a178d88f2c44a69cd2a",
"rev": "7bb88e69194779d701e9927dd1edabaab082887d",
"type": "github"
},
"original": {
@@ -405,11 +405,11 @@
]
},
"locked": {
"lastModified": 1772925576,
"narHash": "sha256-mMoiXABDtkSJxCYDrkhJ/TrrJf5M46oUfIlJvv2gkZ0=",
"lastModified": 1773129285,
"narHash": "sha256-7G6x33z271v/jhBC5Le7NPOZhv9902+MfCkC9poMwf0=",
"owner": "outfoxxed",
"repo": "quickshell",
"rev": "15a84097653593dd15fad59a56befc2b7bdc270d",
"rev": "bd6217927739a79c1c4ff279051f9625cd4b2b5e",
"type": "github"
},
"original": {
@@ -461,11 +461,11 @@
]
},
"locked": {
"lastModified": 1773025773,
"narHash": "sha256-Wik8+xApNfldpUFjPmJkPdg0RrvUPSWGIZis+A/0N1w=",
"lastModified": 1773115373,
"narHash": "sha256-bfK9FJFcQth6f3ydYggS5m0z2NRGF/PY6Y2XgZDJ6pg=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "3c06fdbbd36ff60386a1e590ee0cd52dcd1892bf",
"rev": "1924b4672a2b8e4aee6e6652ec2e59a8d3c5648e",
"type": "github"
},
"original": {

View File

@@ -51,31 +51,16 @@
};
};
outputs = { nixpkgs, nixpkgs-pre-ad01, home-manager, rust-overlay, stylix, niri, codex-cli-nix, claude-code-nix, binaryninja, ... }@inputs:
let
system = "x86_64-linux";
pinnedPkgs = nixpkgs-pre-ad01.legacyPackages.${system};
in {
homeConfigurations.lusia = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system};
outputs = inputs: {
homeConfigurations.lusia = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
modules = [
stylix.homeModules.stylix
./noctalia.nix
./home.nix
({ pkgs, ... }: {
nixpkgs.overlays = [
rust-overlay.overlays.default
(final: prev: {
gqrx = pinnedPkgs.gqrx;
krita = pinnedPkgs.krita;
})
];
home.packages = [ pkgs.rustup ];
})
];
modules = [
inputs.stylix.homeModules.stylix
./home.nix
];
extraSpecialArgs = { inherit inputs; };
};
extraSpecialArgs = { inherit inputs; };
};
};
}

View File

@@ -1,255 +1,18 @@
{ config, pkgs, inputs, ... }:
{ ... }:
{
imports = [
./modules/overlays.nix
./modules/packages.nix
./modules/theming.nix
./modules/programs/git.nix
./modules/programs/gpg-agent.nix
./modules/programs/obs-studio.nix
];
home.username = "lusia";
home.homeDirectory = "/home/lusia";
home.stateVersion = "24.11";
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
# Window manager & desktop environment
inputs.niri.packages.${pkgs.stdenv.hostPlatform.system}.niri
swayidle
swww
kanshi
# System utilities & monitoring
btop
htop
fastfetch
dua
nh
dconf
gparted
mission-center
gnome-software
# CLI tools & utilities
ripgrep
fd
jq
entr
mdcat
sshpass
exiftool
# File managers & compression tools
yazi
nautilus
file-roller
p7zip
unzip
zip
unrar
# Media viewers & players
loupe
evince
vlc
mpv
zathura
# SDR
gqrx
gnuradio
gnuradioPackages.lora_sdr
# Media creation & editing
gimp
blender
ffmpeg
yt-dlp
waifu2x-converter-cpp
libheif
upscayl
inkscape
# Office & productivity
libreoffice-fresh
gnome-text-editor
gnome-calculator
obsidian
simple-scan
system-config-printer
# Development tools
neovim
vscode.fhs
lazygit
cargo-cross
cargo-generate
probe-rs-tools
elf2uf2-rs
dbeaver-bin
gnome-boxes
cutecom
inputs.binaryninja.packages.${pkgs.stdenv.hostPlatform.system}.binary-ninja-free-wayland
# AI development tools
inputs.claude-code-nix.packages.${pkgs.stdenv.hostPlatform.system}.default
inputs.codex-cli-nix.packages.${pkgs.stdenv.hostPlatform.system}.default
gemini-cli
# Internet & networking
firefox-bin
filezilla
qbittorrent
tor-browser
nmap
gnome-network-displays
# Privacy & security
gnupg
pinentry-qt
kdePackages.kleopatra
monero-gui
# Python & AI
python314
openai-whisper
# Document processing
tectonic
mermaid-cli
# Theming
pywal
pywalfox-native
morewaita-icon-theme
# Astronomy
stellarium
kstars
# 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";
};
};
# Enable and configure git
programs.git = {
enable = true;
settings = {
user.name = "Lukrecja Pleskaczyńska";
user.email = "lukrecjaaa@proton.me";
credential.helper = "store";
http."https://git.bgs.local:3000/" = {
sslCAInfo = "/home/lusia/VSTech-vpn/bgs-git-ca.crt";
};
};
};
# 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";
targets.qt.enable = true;
};
}

View File

@@ -0,0 +1,18 @@
{ pkgs, inputs, ... }:
let
system = pkgs.stdenv.hostPlatform.system;
pinnedPkgs = inputs.nixpkgs-pre-ad01.legacyPackages.${system};
in {
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
inputs.rust-overlay.overlays.default
(final: prev: {
gqrx = pinnedPkgs.gqrx;
krita = pinnedPkgs.krita;
})
];
home.packages = [ pkgs.rustup ];
}

View File

@@ -0,0 +1,144 @@
{ pkgs, inputs, ... }:
let
system = pkgs.stdenv.hostPlatform.system;
in {
home.packages = with pkgs; [
# Window manager & desktop environment
inputs.niri.packages.${system}.niri
inputs.noctalia.packages.${system}.default
inputs.quickshell.packages.${system}.default
swayidle
swww
kanshi
# System utilities & monitoring
btop
htop
fastfetch
dua
nh
dconf
gparted
mission-center
gnome-software
# CLI tools & utilities
ripgrep
fd
jq
entr
mdcat
sshpass
exiftool
# File managers & compression tools
yazi
nautilus
file-roller
p7zip
unzip
zip
unrar
# Media viewers & players
loupe
evince
vlc
mpv
zathura
# SDR
gqrx
gnuradio
gnuradioPackages.lora_sdr
# Media creation & editing
gimp
blender
ffmpeg
yt-dlp
waifu2x-converter-cpp
libheif
upscayl
inkscape
# Office & productivity
libreoffice-fresh
gnome-text-editor
gnome-calculator
obsidian
simple-scan
system-config-printer
# Development tools
neovim
vscode.fhs
lazygit
cargo-cross
cargo-generate
probe-rs-tools
elf2uf2-rs
dbeaver-bin
gnome-boxes
cutecom
inputs.binaryninja.packages.${system}.binary-ninja-free-wayland
helix
# AI development tools
inputs.claude-code-nix.packages.${system}.default
inputs.codex-cli-nix.packages.${system}.default
gemini-cli
# Internet & networking
firefox-bin
filezilla
qbittorrent
tor-browser
nmap
gnome-network-displays
# Privacy & security
gnupg
pinentry-qt
kdePackages.kleopatra
monero-gui
# Python & AI
python314
openai-whisper
# Document processing
tectonic
mermaid-cli
# Astronomy
stellarium
kstars
# 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"
'';
})
];
}

View File

@@ -0,0 +1,15 @@
{ ... }:
{
programs.git = {
enable = true;
settings = {
user.name = "Lukrecja Pleskaczyńska";
user.email = "lukrecjaaa@proton.me";
credential.helper = "store";
http."https://git.bgs.local:3000/" = {
sslCAInfo = "/home/lusia/VSTech-vpn/bgs-git-ca.crt";
};
};
};
}

View File

@@ -0,0 +1,9 @@
{ pkgs, ... }:
{
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-qt;
enableSshSupport = true;
};
}

View File

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

View File

@@ -0,0 +1,62 @@
{ pkgs, ... }:
{
stylix = {
enable = true;
image = ../wallpaper;
base16Scheme = ../colors.yaml;
polarity = "dark";
targets.qt.enable = true;
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
"org/gnome/nautilus/preferences" = {
show-image-thumbnails = "always";
};
};
};
gtk = {
enable = true;
iconTheme = {
name = "MoreWaita";
package = pkgs.morewaita-icon-theme;
};
cursorTheme = {
name = "Adwaita";
package = pkgs.adwaita-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
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";
};
};
home.packages = with pkgs; [
pywal
pywalfox-native
morewaita-icon-theme
];
}

View File

@@ -1,18 +0,0 @@
{ 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;
#};
}

View File

@@ -222,7 +222,6 @@
# Enable virtualisation
virtualisation.libvirtd.enable = true;
systemd.services.virt-secret-init-encryption.enable = false; # broken on NixOS, hardcodes /usr/bin/sh
# Enable VirtualBox
virtualisation.virtualbox.host.enable = true;

12
nixos/flake.lock generated
View File

@@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1772985285,
"narHash": "sha256-wEEmvfqJcl9J0wyMgMrj1TixOgInBW/6tLPhWGoZE3s=",
"lastModified": 1773093840,
"narHash": "sha256-u/96NoAyN8BSRuM3ZimGf7vyYgXa3pLx4MYWjokuoH4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5be5d8245cbc7bc0c09fbb5f38f23f223c543f85",
"rev": "bb014746edb2a98d975abde4dd40fa240de4cf86",
"type": "github"
},
"original": {
@@ -35,11 +35,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1772773019,
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"lastModified": 1772963539,
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"rev": "9dcb002ca1690658be4a04645215baea8b95f31d",
"type": "github"
},
"original": {