refactor: cleanup configs, unify session handling

- flake.nix:
  - Close braces formatting for `allowUnfree`
  - Remove per-user `custom.sessionType` modules
- home-manager:
  - home.nix: remove unused apps (bambu-studio, hydralauncher, keymapp, etc.)
    - drop librespot service
    - add waydroid
    - fix kitty font_family spacing
  - gnome: add gnome-tweaks and appindicator extension
  - vim: update nixvim module import path
  - zsh: drop sessionType option and conditional aliases
    - hardcode wl-copy/wl-paste as pbcopy/pbpaste
- hyprland: style fixes in braces, spacing, keybind comments
- hosts/Nixstation:
  - remove gnome-session and redundant tweaks
  - remove env vars NIXOS_HOST / NIXOS_DE
  - enable virtualization (libvirtd, spiceUSBRedirection, vmware.host=false)
- hardware-configuration: reformat fileSystems definitions
- common/nvidia:
  - remove explicit kernelPackages override
  - ensure xserver.enable=true and GNOME/GDM config intact
- users/thiago: reorder and regroup extraGroups list
This commit is contained in:
Thiago Sposito 2025-08-25 20:36:59 -03:00
parent ea25b5b515
commit 95e94196b2
11 changed files with 70 additions and 133 deletions

View file

@ -37,7 +37,8 @@
Nixstation = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs outputs;
allowUnfree = true;};
allowUnfree = true;
};
modules = [
./hosts/Nixstation
];
@ -52,7 +53,6 @@
};
modules = [
./home-manager/home.nix
{ custom.sessionType = "wayland"; }
];
};
"thiago@Nixstation" = home-manager.lib.homeManagerConfiguration {
@ -63,7 +63,6 @@
modules = [
./home-manager/home.nix
{ custom.sessionType = "wayland"; }
];
};
};

View file

@ -27,6 +27,8 @@
};
home.packages = with pkgs; [
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.pop-shell
gnomeExtensions.forge
gnomeExtensions.tray-icons-reloaded
@ -34,6 +36,5 @@
gnomeExtensions.sound-output-device-chooser
gnomeExtensions.space-bar
nordzy-icon-theme
];
}

View file

@ -26,40 +26,26 @@
home = {
homeDirectory = "/home/thiago";
packages = with pkgs; [
bambu-studio
direnv
fira-code
firefox
heroic
hwinfo
hydralauncher
inkscape
wl-clipboard
kanshi
keymapp
lazygit
libinput
librespot
luarocks
nerd-fonts.gohufont
nerd-fonts.fira-code
nil
nixpkgs-fmt
nordic
obsidian
python3
python3Packages.pip
ripgrep
shfmt
statix
stylua
sysbench
swaybg
transmission_4
uget
unzip
waydroid
wl-clipboard
zed-editor
];
username = "thiago";
};
@ -113,12 +99,11 @@
settings = {
hide_window_decorations = "titlebar-only";
font_size = 18;
font_family="GohuFont 14 Nerd Font Mono";
font_family = "GohuFont 14 Nerd Font Mono";
inactive_text_alpha = "0.6";
# background_blur = 32;
background_opacity = 1.0;
};
themeFile = "Nord";
};
vscode = {
@ -126,29 +111,6 @@
};
};
systemd.user.services.librespot-connect = {
Unit = {
Description = "Librespot (Spotify Connect) bound to LAN interface";
After = [ "network.target" ];
};
Service = {
ExecStart = "${pkgs.librespot}/bin/librespot \
--name LS-TEST \
--backend pulseaudio \
--device default \
--bitrate 320 \
--disable-audio-cache \
--enable-volume-normalisation \
--initial-volume 75 \
--zeroconf-port 17005";
Restart = "on-failure";
BindToDevice = "wlp7s0"; # Force binding to LAN interface
};
Install = {
WantedBy = [ "default.target" ];
};
};
systemd.user.startServices = "sd-switch";
home.stateVersion = "25.11";
}

View file

@ -1,4 +1,5 @@
{lib, ...}: {
{ lib, ... }:
{
home.sessionVariables = {
fileManager = "thunar";
menu = "fuzzel --show drun";
@ -34,7 +35,7 @@
enable = true;
settings = {
"$mod" = "SUPER";
layerrule =[
layerrule = [
"ignorezero, waybar"
"blur, waybar"
];
@ -80,7 +81,6 @@
"$mod, mouse_up, workspace, e-1"
];
bindm = [
"$mod, mouse:272, movewindow" # Hold $mod and left mouse button to move window
"$mod, mouse:273, resizewindow" # Hold $mod and right mouse button to resize window

View file

@ -2,7 +2,7 @@
{
imports = [
inputs.nixvim.homeManagerModules.nixvim
inputs.nixvim.homeModules.nixvim
];
home.packages = with pkgs; [
ripgrep
@ -96,4 +96,3 @@
'';
};
}

View file

@ -3,16 +3,7 @@
, pkgs
, ...
}:
let
isWayland = config.custom.sessionType == "wayland";
in
{
options.custom.sessionType = lib.mkOption {
type = lib.types.str;
default = "x11";
description = "The X session type: 'wayland' or 'x11'";
};
config = {
home.file."scripts/lsgpu.sh" = {
source = ./scripts/lsgpu.sh;
@ -28,25 +19,15 @@ in
export GPG_TTY=$(tty)
'';
shellAliases = lib.mkMerge [
{
shellAliases = {
"vi" = "nvim";
"vim" = "nvim";
"ll" = "ls -l";
"lsgpu" = "$HOME/scripts/lsgpu.sh";
"gedit" = "gnome-text-editor";
}
(lib.mkIf isWayland {
"pbcopy" = "wl-copy";
"pbpaste" = "wl-paste";
})
(lib.mkIf (!isWayland) {
"pbcopy" = "xclip -selection clipboard -i";
"pbpaste" = "xclip -selection clipboard -o";
})
];
};
oh-my-zsh = {
enable = true;
@ -57,7 +38,5 @@ in
];
};
};
home.packages = with pkgs; [ xclip ];
};
}

View file

@ -12,7 +12,9 @@
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
# kernelPackages = pkgs.linuxPackages_6_16;
};
environment = {
systemPackages = with pkgs; [
act
@ -21,14 +23,7 @@
networkmanagerapplet
libwacom
wacomtablet
gnome-tweaks
gnome-session
];
variables = {
NIXOS_HOST = "nixstation";
NIXOS_DE = "wayland";
};
};
hardware = {
@ -144,15 +139,15 @@
};
system.stateVersion = "25.11"; # keep it!
time.timeZone = "America/Sao_Paulo";
# virtualisation = {
# vmware.host.enable = false;
# spiceUSBRedirection.enable = true;
# libvirtd = {
# enable = true;
# qemu.ovmf.enable = true;
# # qemu.package = pkgs.qemu_full;
# };
# };
virtualisation = {
vmware.host.enable = false;
spiceUSBRedirection.enable = true;
libvirtd = {
enable = true;
qemu.ovmf.enable = true;
# qemu.package = pkgs.qemu_full;
};
};
zramSwap = {
enable = true;

View file

@ -26,22 +26,25 @@
extraModulePackages = [ ];
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/07c4d31f-e1cd-4a02-8b3f-8c2bd2e0ce8d";
fileSystems."/" = {
device = "/dev/disk/by-uuid/07c4d31f-e1cd-4a02-8b3f-8c2bd2e0ce8d";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/07c4d31f-e1cd-4a02-8b3f-8c2bd2e0ce8d";
fileSystems."/home" = {
device = "/dev/disk/by-uuid/07c4d31f-e1cd-4a02-8b3f-8c2bd2e0ce8d";
fsType = "btrfs";
options = [ "subvol=@home" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D2EA-469F";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/D2EA-469F";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];

View file

@ -6,9 +6,8 @@
# ./passthrough.nix
];
boot.kernelModules = [ "nvidia" ];
boot.kernelParams = ["nvidia-drm.modset=1"];
boot.blacklistedKernelModules = ["nouveau"];
boot.kernelPackages = pkgs.linuxPackages_6_12;
boot.kernelParams = [ "nvidia-drm.modset=1" ];
boot.blacklistedKernelModules = [ "nouveau" ];
hardware = {
graphics = {
enable = true;
@ -29,6 +28,7 @@
};
services = {
services.xserver.enable = true;
desktopManager.gnome.enable = true;
displayManager = {
gdm.enable = true;

View file

@ -7,24 +7,23 @@ in
isNormalUser = true;
initialPassword = "changeme";
extraGroups =
[
extraGroups = [
"fuse"
"networkmanager"
"wheel"
"scard"
"wheel"
]
++ ifTheyExist [
"wireshark"
"i2c"
"docker"
"git"
"libvirtd"
"libvirt"
"video"
"i2c"
"kvm"
"scanner"
"libvirt"
"libvirtd"
"photos"
"scanner"
"video"
"wireshark"
];
openssh.authorizedKeys.keyFiles = [
(builtins.fetchurl {