nix-conf/home-manager/home.nix
Thiago Sposito b41147d8e1 refactor: drop disko, simplify inputs, centralize fuse/rclone, bump state versions
- Remove disko everywhere:
  - Delete hosts/Nixbook/disko.nix and hosts/Nixtest/disko.nix
  - Drop disko input, modules, and disko-install app
  - Update README to remove disko mention
- Simplify flake inputs:
  - Use nixpkgs = nixos-unstable only
  - Home Manager -> master (follows nixpkgs)
  - Remove nixpkgs-unstable and vscode-extensions
  - Pass allowUnfree via specialArgs
- Centralize storage tools:
  - Add fuse3 and rclone to hosts/common/default.nix
  - Remove hosts/common/rclone.nix and screen.nix
  - Add user thiago to "fuse" group
  - Drop per-host rclone packages
- NVIDIA module:
  - Use pkgs.linuxPackages.nvidiaPackages.latest (no unstable import)
  - Keep nvidiaSettings=true, open=false
  - Remove sunshine service block
- Hosts:
  - Nixstation: remove Hyprland block, zramSwap 30% -> 25%
  - Clean hardware-configuration args
- Versions:
  - system.stateVersion: 24.05 -> 25.11 (Nixstation)
  - home.stateVersion: 24.05 -> 25.11
- README: adjust Nixbook and common modules descriptions
2025-08-24 14:07:15 -03:00

154 lines
3.3 KiB
Nix

{ pkgs
, ...
}:
{
imports = [
./gnome
./vim.nix
./zsh.nix
];
nixpkgs = {
config = {
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
# nixpkgs.config.allowUnfreePredicate =
# pkg:
# builtins.elem (lib.getName pkg) [
# "steam"
# "steam-original"
# "steam-run"
# "steamtinkerlaunch"
# ];
};
};
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
wl-clipboard
zed-editor
];
username = "thiago";
};
programs = {
git = {
aliases = {
br = "branch";
ca = "commit --amend";
can = "commit --amend --no-edit";
ci = "commit";
co = "checkout";
lg = "log --oneline --graph --decorate --all";
st = "status";
};
enable = true;
extraConfig = {
color.ui = "auto";
core = {
editor = "nvim";
autocrlf = "input";
};
init.defaultBranch = "main";
pull.rebase = true;
};
lfs.enable = true;
signing = {
key = "3065EA73A976D430";
signByDefault = true;
};
userEmail = "th.spo@pm.me";
userName = "Thiago Sposito";
};
home-manager.enable = true;
kitty = {
enable = true;
keybindings = {
# splitting
"ctrl+shift+enter" = "new_window";
"ctrl+shift+\\" = "new_window --location=hsplit";
# resizing
"ctrl+alt+left" = "resize_window narrower";
"ctrl+alt+right" = "resize_window wider";
"ctrl+alt+up" = "resize_window taller";
"ctrl+alt+down" = "resize_window shorter";
};
settings = {
hide_window_decorations = "titlebar-only";
font_size = 18;
font_family="GohuFont 14 Nerd Font Mono";
inactive_text_alpha = "0.6";
# background_blur = 32;
background_opacity = 1.0;
};
themeFile = "Nord";
};
vscode = {
enable = true;
};
};
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";
}