Refactoring and cleaning

This commit is contained in:
Nicole 2026-04-30 20:44:17 +02:00
parent 9979d7bc42
commit c33c623bf3
13 changed files with 196 additions and 258 deletions

View file

@ -7,8 +7,8 @@
let
# TO-DO
user = "nicole";
username = "nicole";
userdesc = "Nicole";
in
@ -25,9 +25,16 @@ in
./modules/nvidia.nix
./modules/ld-fix.nix
./modules/programs.nix
./modules/flatpak.nix
./modules/bluetooth.nix
./modules/KawaiCA49.nix
./modules/logitech.nix
./modules/ollama.nix
./modules/sound.nix
./modules/xdg.nix
./modules/gdm.nix
#./modules/gnome.nix
#./modules/kde.nix
./cachix.nix
];
@ -41,8 +48,6 @@ in
#░█▀▄░█░█░█░█░░█░░█░░░█░█░█▀█░█░█░█▀▀░█▀▄
#░▀▀░░▀▀▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀░▀░▀▀░░▀▀▀░▀░▀
#hardware.bluetooth.enable = true; # enables support for Bluetooth
#hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
services.blueman.enable = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@ -135,10 +140,9 @@ in
#░█░█░▀▀█░█▀▀░█▀▄
#░▀▀▀░▀▀▀░▀▀▀░▀░▀
users.users.nicole = {
users.users.${username} = {
isNormalUser = true;
description = "Nicole";
description = userdesc;
extraGroups = [ "networkmanager" "wheel" "libvrtd" "kvm" "qemu-libvirtd" "cdrom" "uucp" "docker" "audio"];
packages = with pkgs; [];
};
@ -150,88 +154,8 @@ in
];
};
#░█░█░█▀█░█▀▀░█▀▄░█▀▀░█▀▀
#░█░█░█░█░█▀▀░█▀▄░█▀▀░█▀▀
#░▀▀▀░▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀
nixpkgs.config.allowUnfree = true;
#nixpkgs.config.cudaSupport = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
#░█░█░█▀▄░█▀▀
#░▄▀▄░█░█░█░█
#░▀░▀░▀▀░░▀▀▀
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-gnome
];
config = {
common = {
default = [ "*" ];
};
niri = {
default = [
"gtk"
"gnome"
];
"org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ];
"org.freedesktop.impl.portal.Screenshot" = [ "gnome" ];
};
};
};
#░█▀▀░█▀█░█░█░█▀█░█▀▄
#░▀▀█░█░█░█░█░█░█░█░█
#░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀░
security.rtkit.enable = true;
services.pipewire = {
enable = true;
audio.enable = true;
wireplumber.enable = true;
pulse.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
jack.enable = true;
};
musnix.enable = true;
hardware.kawaiCA49 = {
enable = true;
user = "nicole";
};
# ISO mounting utils #
programs.cdemu.enable = true;
# KDE Connect
programs.kdeconnect.enable = true;
# OLLAMA #
services.ollama = {
enable = true;
acceleration = "cuda";
package = pkgs-unstable.ollama-cuda;
environmentVariables = {
CUDA_VISIBLE_DEVICES = "0";
NVIDIA_VISIBLE_DEVICES = "all";
LD_LIBRARY_PATH = "${pkgs.cudaPackages.cudatoolkit}/lib:${pkgs.cudaPackages.cudatoolkit}/lib64";
};
};
# STEAM #
programs.steam.enable = true;
programs.steam.package = pkgs.millennium-steam;
programs.steam.gamescopeSession.enable = true;
programs.gamemode.enable = true;
# DEFAULTS #
environment = {
sessionVariables = {
@ -241,7 +165,6 @@ in
LIBVIRT_DEFAULT_URI = "qemu:///system";
NIXOS_OZONE_WL = "1";
};
#etc."nvidia/nvidia-application-profiles-rc.d/50-limit-free-buffer-pool.json".source = ./50-limit-free-buffer-pool.json;
};
# Fonts with emojis uwu #
@ -263,17 +186,20 @@ in
system.stateVersion = "25.11";
system.autoUpgrade = {
enable = true;
enable = false;
flake = inputs.self.outPath;
flags = [
"--update-input"
"nixpkgs"
"-L" # print build logs
"-L"
];
dates = "02:00";
randomizedDelaySec = "45min";
};
hardware.kawaiCA49 = {
enable = true;
user = "nicole";
};
}

View file

@ -5,116 +5,14 @@
{config, pkgs, pkgs-unstable, lib, inputs, ... }:
{
# Enable GDM
#services.xserver.displayManager.gdm = { # 25.05
services.displayManager.gdm = { # 25.11
enable = true;
#autoLogin.enable = true;
#autoLogin.user = "nicole";
};
systemd.services.copyGdmMonitorsXml = {
description = "Copy monitors.xml to GDM config";
after = [ "network.target" "systemd-user-sessions.service" "display-manager.service" ];
serviceConfig = {
ExecStart = "${pkgs.bash}/bin/bash -c 'mkdir -p /var/lib/gdm/seat0/config && cp /home/nicole/.config/monitors.xml /var/lib/gdm/seat0/config/monitors.xml && chown gdm:gdm /var/lib/gdm/seat0/config/monitors.xml'";
Type = "oneshot";
};
wantedBy = [ "multi-user.target" ];
};
# Enable SDDM
#services.xserver.displayManager.sddm.enable = true;
#services.displayManager.sddm.wayland.enable = true;
#environment.systemPackages = with pkgs; [
# kdePackages.qtmultimedia
# libsForQt5.qt5.qtgraphicaleffects
# sddm-astronaut
# ];
#services.displayManager.sddm.theme = "${pkgs.sddm-chili-theme}/share/sddm/themes/chili";
#services.displayManager.sddm.wayland.enable = true;
# Gnome Keyring (for window managers)
services.gnome.gnome-keyring.enable = true;
# HYPRLAND #
#programs.hyprland = {
# enable = true;
# withUWSM = true;
# xwayland.enable = true;
#};
# NIRI #
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
programs.niri = {
package = pkgs.niri-unstable;
enable = true;
};
# MANGO #
# programs.mango.enable = true;
# i3
#services.xserver = {
# enable = true;
# windowManager.i3 = {
# enable = true;
# extraPackages = with pkgs; [
# dmenu #application launcher most people use
# i3status # gives you the default i3 status bar
# i3blocks #if you are planning on using i3blocks over i3status
# ];
# };
#};
#programs.i3lock.enable = true; #default i3 screen locker
# SWAY
#programs.sway = {
# enable = true;
# wrapperFeatures.gtk = true;
#};
# GNOME
#services.desktopManager.gnome.enable = true;
#environment.gnome.excludePackages = with pkgs; [
# baobab # disk usage analyzer
# cheese # photo booth
# eog # image viewer
# epiphany # web browser
# gedit # text editor
# simple-scan # document scanner
# totem # video player
# yelp # help viewer
# evince # document viewer
# file-roller # archive manager
# geary # email client
# seahorse # password manager
# gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-contacts
# gnome-font-viewer gnome-logs gnome-maps gnome-music gnome-photos gnome-screenshot
# gnome-system-monitor gnome-weather gnome-disk-utility pkgs.gnome-connections
#];
# KDE
#services.desktopManager.plasma6.enable = true;
#environment.plasma6.excludePackages = with pkgs; [
#kdePackages.elisa # Music player
#kdePackages.kdepim-runtime # Akonadi agents
#kdePackages.kmahjongg
#kdePackages.kmines
#kdePackages.konversation # IRC client
#kdePackages.kpat # Solitaire
#kdePackages.ksudoku
#kdePackages.ktorrent
#];
# ENV VARS #
environment.sessionVariables = {
WLR_NO_HARDWARE_CURSOR = "1";
NIXOS_OZONE_WL = "1";
CUDA_HOME = "${pkgs.cudaPackages.cudatoolkit}";
CUDA_MODULE_LOADING = "LAZY";
};
}

View file

@ -0,0 +1,16 @@
{ config, ... }:
{
services.flatpak.enable = true;
services.flatpak.packages = [
"com.github.tchx84.Flatseal"
"org.pitivi.Pitivi"
"app.zen_browser.zen"
"org.blender.Blender"
"org.onlyoffice.desktopeditors"
"com.rustdesk.RustDesk"
"org.gimp.GIMP"
"com.anydesk.Anydesk"
"com.github.iwalton3.jellyfin-media-player"
];
}

View file

@ -0,0 +1,8 @@
{ config, ... }:
{
services.displayManager.gdm = {
enable = true;
#autoLogin.enable = true;
#autoLogin.user = "nicole";
};
}

View file

@ -0,0 +1,22 @@
{ config, pkgs, ... }:
{
services.desktopManager.gnome.enable = true;
#environment.gnome.excludePackages = with pkgs; [
# baobab # disk usage analyzer
# cheese # photo booth
# eog # image viewer
# epiphany # web browser
# gedit # text editor
# simple-scan # document scanner
# totem # video player
# yelp # help viewer
# evince # document viewer
# file-roller # archive manager
# geary # email client
# seahorse # password manager
# gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-contacts
# gnome-font-viewer gnome-logs gnome-maps gnome-music gnome-photos gnome-screenshot
# gnome-system-monitor gnome-weather gnome-disk-utility pkgs.gnome-connections
#];
}

View file

@ -0,0 +1,8 @@
{ config, ... }:
{
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
}

14
etc/nixos/modules/kde.nix Normal file
View file

@ -0,0 +1,14 @@
{ config, pkgs, ... }:
{
services.desktopManager.plasma6.enable = true;
#environment.plasma6.excludePackages = with pkgs; [
#kdePackages.elisa # Music player
#kdePackages.kdepim-runtime # Akonadi agents
#kdePackages.kmahjongg
#kdePackages.kmines
#kdePackages.konversation # IRC client
#kdePackages.kpat # Solitaire
#kdePackages.ksudoku
#kdePackages.ktorrent
#];
}

View file

@ -0,0 +1,8 @@
{config, pkgs, pkgs-unstable, input, ... }:
{
nixpkgs.overlays = [ inputs.niri.overlays.niri ];
programs.niri = {
package = pkgs.niri-unstable;
enable = true;
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, pkgs-unstable, ... }:
{
# OLLAMA #
services.ollama = {
enable = true;
acceleration = "cuda";
package = pkgs-unstable.ollama-cuda;
environmentVariables = {
CUDA_VISIBLE_DEVICES = "0";
NVIDIA_VISIBLE_DEVICES = "all";
LD_LIBRARY_PATH = "${pkgs.cudaPackages.cudatoolkit}/lib:${pkgs.cudaPackages.cudatoolkit}/lib64";
};
};
}

View file

@ -1,6 +1,3 @@
#░█▀█░█▀█░█▀▀░█░█░█▀█░█▀▀░█▀▀░█▀▀
#░█▀▀░█▀█░█░░░█▀▄░█▀█░█░█░█▀▀░▀▀█
#░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀▀▀░▀▀▀
{config, pkgs, pkgs-unstable, lib, inputs, ... }:
let
@ -30,8 +27,11 @@ let
in
{
#░█▀█░█▀█░█▀▀░█░█░█▀█░█▀▀░█▀▀░█▀▀
#░█▀▀░█▀█░█░░░█▀▄░█▀█░█░█░█▀▀░▀▀█
#░▀░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀▀▀░▀▀▀
# RISKY, REMOVE ASAP ###
nixpkgs.config.allowUnfree = true;
nixpkgs.config.permittedInsecurePackages = [
"qtwebengine-5.15.19"
"mbedtls-2.28.10"
@ -76,7 +76,6 @@ in
# SCREENSHOTS AND RECORDING #
grim
slurp
#swappy
satty
wl-clipboard
obs-studio
@ -95,7 +94,6 @@ in
rofi
libnotify
wayvnc
#pkgs-unstable.xwayland-satellite
(callPackage ./pkgs/xwayland-satellite/default.nix {})
xwayland-run
@ -115,21 +113,15 @@ in
ffmpeg
mpv
feishin
#(callPackage ./pkgs/feishin/default.nix {})
#spotify
# jellyfin-media-player
jellyfin-mpv-shim
# INTERNET #
#pkgs-unstable.telegram-desktop
pkgs-unstable._64gram
element-desktop
wasistlos
vesktop
#geary
pkgs-unstable.mailspring
pkgs-unstable.thunderbird
#tutanota-desktop
pkgs-unstable.protonmail-desktop
teams-for-linux
qbittorrent
@ -152,11 +144,8 @@ in
# GAMING #
mangohud
lutris
#heroic
#protonup-qt
pkgs-unstable.protonplus
gdlauncher-carbon
#adwsteamgtk
lug-helper
# OTHERS #
@ -189,13 +178,8 @@ in
# AI #
(callPackage ./pkgs/msty/default.nix {})
#pkgs-unstable.jan
#claude-code
pkgs-unstable.lmstudio
#(inputs.opencode.packages.${system}.default)
pkgs-unstable.opencode
#pkgs-unstable.codex
#pkgs-unstable.gemini-cli
# AUDIO AND DAW#
helvum
@ -204,16 +188,10 @@ in
bitwig-studio
yabridge
yabridgectl
# alsa-scarlett-gui
# qjackctl
alsa-utils
#vital
#(callPackage ./pkgs/vital-stable/default.nix {})
# WINE #
wineWowPackages.stable
#wineWowPackages.waylandFull
#wineWowPackages.staging
winetricks
bottles
@ -222,29 +200,25 @@ in
(callPackage ./pkgs/anycubic-slicer-next/default.nix {})
];
# Enable Flaktpak
services.flatpak.enable = true;
services.flatpak.packages = [
"com.github.tchx84.Flatseal"
"org.pitivi.Pitivi"
"app.zen_browser.zen"
"org.blender.Blender"
"org.onlyoffice.desktopeditors"
"com.rustdesk.RustDesk"
"org.gimp.GIMP"
"com.anydesk.Anydesk"
"com.github.iwalton3.jellyfin-media-player"
];
# STEAM #
programs.steam.enable = true;
programs.steam.package = pkgs.millennium-steam;
programs.steam.gamescopeSession.enable = true;
programs.gamemode.enable = true;
#programs.firefox = {
# enable = true;
#};
# ISO mounting utils #
programs.cdemu.enable = true;
# KDE Connect
programs.kdeconnect.enable = true;
# OPENRGB #
services.hardware.openrgb = {
enable = true;
package = pkgs-unstable.openrgb-with-all-plugins;
};
# SPICETIFY #
programs.spicetify = {
enable = true;
enabledExtensions = with spicePkgs.extensions; [
@ -256,6 +230,7 @@ programs.spicetify = {
#colorScheme = "matugen";
};
# DOCKER #
virtualisation.docker.rootless = {
enable = true;
setSocketVariable = true;

View file

@ -0,0 +1,12 @@
{ config, pkgs, ... }:
{
services.xserver.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
environment.systemPackages = with pkgs; [
kdePackages.qtmultimedia
libsForQt5.qt5.qtgraphicaleffects
sddm-astronaut
];
services.displayManager.sddm.theme = "${pkgs.sddm-chili-theme}/share/sddm/themes/chili";
services.displayManager.sddm.wayland.enable = true;
}

View file

@ -0,0 +1,14 @@
{ config, ... }:
{
security.rtkit.enable = true;
services.pipewire = {
enable = true;
audio.enable = true;
wireplumber.enable = true;
pulse.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
jack.enable = true;
};
musnix.enable = true;
}

23
etc/nixos/modules/xdg.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, pkgs, ... }:
{
xdg.portal = {
enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-gnome
];
config = {
common = {
default = [ "*" ];
};
niri = {
default = [
"gtk"
"gnome"
];
"org.freedesktop.impl.portal.ScreenCast" = [ "gnome" ];
"org.freedesktop.impl.portal.Screenshot" = [ "gnome" ];
};
};
};
}