feat: many changes

This commit is contained in:
Zoty 2026-03-28 21:26:04 -03:00
parent 8cd75009d9
commit 3d48e35de5
Signed by: Zoty
SSH key fingerprint: SHA256:WsGEGivgl37t3Mth6uugXMOgMCTR7QolIepNbC+j/tA
14 changed files with 304 additions and 71 deletions

View file

@ -10,7 +10,7 @@
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =

View file

@ -1,13 +1,21 @@
{ pkgs, ... }: {
{ inputs, pkgs, ... }:
let
claude-code = inputs.claude-code.packages.${pkgs.system}.default;
in {
home.packages = with pkgs; [
firefox
discord
stremio-linux-shell
obsidian
kitty
qbittorrent
claude-code
mpv
];
home.sessionVariables = {
TERMINAL = "wezterm";
XDG_TERMINAL_EMULATOR = "wezterm";
TERMINAL = "kitty";
XDG_TERMINAL_EMULATOR = "kitty";
};
programs.zsh = {

View file

@ -10,6 +10,37 @@
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
XDG_MENU_PREFIX = "plasma-";
};
home.packages = with pkgs; [
grim
slurp
satty
wl-clipboard
];
home.file.".local/bin/screenshot" = {
executable = true;
text = ''
#!/usr/bin/env bash
MODE="''${1:-region}"
SAVE_DIR="$HOME/Images/screenshots"
mkdir -p "$SAVE_DIR"
FILENAME="$SAVE_DIR/$(date '+%Y%m%d-%H%M%S').png"
case "$MODE" in
region)
grim -g "$(slurp)" -t ppm - | satty --filename - --output-filename "$FILENAME" --copy-command wl-copy --early-exit
;;
screen)
grim -t ppm - | satty --filename - --output-filename "$FILENAME" --copy-command wl-copy --early-exit
;;
monitor)
grim -o "$(niri msg focused-output | grep 'Output' | awk '{print $2}')" -t ppm - \
| satty --filename - --output-filename "$FILENAME" --copy-command wl-copy --early-exit
;;
esac
'';
};
xdg.configFile."niri/config.kdl".text = ''
// Modificadores: Mod = Super (tecla Windows)
@ -40,7 +71,7 @@
binds {
// Aplicativos
Mod+Return { spawn "wezterm"; }
Mod+Return { spawn "kitty"; }
Mod+D { spawn "fuzzel"; }
Mod+Q { close-window; }
@ -78,8 +109,9 @@
XF86AudioMute { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
// Screenshot
Print { screenshot; }
Mod+Print { screenshot-screen; }
Mod+Shift+S { spawn "bash" "-c" "$HOME/.local/bin/screenshot region"; }
Mod+Shift+Alt+S { spawn "bash" "-c" "$HOME/.local/bin/screenshot screen"; }
Mod+Shift+Ctrl+S { spawn "bash" "-c" "$HOME/.local/bin/screenshot monitor"; }
}
'';
}

View file

@ -1,23 +0,0 @@
{ pkgs, ... }: {
programs.wezterm = {
enable = true;
package = pkgs.wezterm;
extraConfig = ''
local config = wezterm.config_builder()
config.front_end = "OpenGL"
config.enable_tab_bar = false
config.max_fps = 60
config.animation_fps = 60
config.enable_wayland = true
return config
'';
};
# I'm not sure why, but this removes the annoying input
# delay from wezterm.
home.sessionVariables = {
__GL_SYNC_TO_VBLANK = "0";
};
}

17
modules/androidcam.nix Normal file
View file

@ -0,0 +1,17 @@
{ den, ... }: {
den.aspects.androidcam.nixos = { pkgs, ... }: {
boot.extraModulePackages = with pkgs.linuxPackages; [ v4l2loopback ];
boot.kernelModules = [ "v4l2loopback" ];
boot.extraModprobeConfig = ''
options v4l2loopback \
devices=1 \
video_nr=2 \
card_label="DroidCam" \
exclusive_caps=1
'';
programs.droidcam.enable = true;
};
}

View file

@ -1,12 +1,14 @@
{ den, ... }: {
den.aspects.core.nixos = { pkgs, ... }: {
{ den, inputs, ... }: {
den.aspects.core.nixos = { pkgs, ... }:
let
pkgs-unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system};
in {
nixpkgs.config.allowUnfree = true;
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
auto-optimise-store = true;
};
gc = {
automatic = true;
@ -15,17 +17,25 @@
};
};
zramSwap = {
enable = true;
algorithm = "zstd";
memoryPercent = 300;
};
services.xserver = {
enable = false;
xkb.layout = "en";
};
environment.systemPackages = with pkgs; [
curl
wget
neovim
curl
wget
pkgs-unstable.neovim
btop
nixd
unrar
p7zip
];
networking.networkmanager.enable = true;

View file

@ -35,6 +35,9 @@
den.aspects.desktop-specific
den.aspects.dev
den.aspects.secrets
den.aspects.steam
den.aspects.prismlauncher
den.aspects.androidcam
];
nixos = {
system.stateVersion = "25.11";
@ -58,6 +61,7 @@
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "backup";
extraSpecialArgs = { inherit inputs; };
};
security.sudo.wheelNeedsPassword = false;
};
@ -67,7 +71,6 @@
./_home/niri.nix
./_home/cursor.nix
./_home/git.nix
./_home/wezterm.nix
./_home/mako.nix
./_home/dolphin.nix
./_home/theme.nix

View file

@ -27,13 +27,17 @@
services.xserver.videoDrivers = [ "nvidia" ];
boot = {
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
initrd.compressor = "zstd";
kernelParams = [ "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ];
loader = {
grub = {
enable = true;
device = "nodev";
efiSupport = true;
configurationLimit = 2;
};
efi.canTouchEfiVariables = true;
};
@ -45,6 +49,8 @@
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
MOZ_ENABLE_WAYLAND = "1";
MOZ_USE_XINPUT2 = "1";
__GL_SYNC_TO_VBLANK = "0";
__GL_MaxFramesAllowed = "1";
};
};
}

View file

@ -1,7 +1,45 @@
{ den, pkgs, ... }: {
den.aspects.dev.nixos = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
{ den, inputs, pkgs, ... }: {
den.aspects.dev.nixos = { pkgs, ... }:
let
pkgs-unstable = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system};
in
{
environment.systemPackages = (with pkgs-unstable; [
# Basic
gcc
fzf
];
tree-sitter
# LSPs
bash-language-server # Bash
lua-language-server # lua
nixd # Nix
vscode-langservers-extracted # Json & CSS
yaml-language-server # Yaml
dockerfile-language-server # Docker
marksman # Markdown
clang-tools # C++
jdt-language-server # Java
typescript-language-server # Typescript
pyright # Python
taplo # TOML and rust crates
sqls # SQL
astro-language-server # Astro
angular-language-server # Angular
vue-language-server # Vue
tailwindcss-language-server # Tailwind
# Extra
chafa
ripgrep
]) ++ (with pkgs; [
# Other
vimPlugins.blink-cmp
jetbrains.idea-community
aseprite
]);
programs.java = {
enable = true;
package = pkgs.jdk17;
};
};
}

View file

@ -7,6 +7,8 @@
package = pkgs.niri;
};
programs.gpu-screen-recorder.enable = true;
environment.systemPackages = with pkgs; [
waybar
fuzzel
@ -18,6 +20,7 @@
xdg-desktop-portal-gnome
kdePackages.xdg-desktop-portal-kde
xwayland-satellite
gpu-screen-recorder-gtk
];
xdg.portal = {

14
modules/prismlauncher.nix Normal file
View file

@ -0,0 +1,14 @@
{ den, ...}: {
den.aspects.prismlauncher.nixos = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
(prismlauncher.override {
jdks = [
temurin-bin-8
temurin-bin-17
temurin-bin-21
temurin-bin-25
];
})
];
};
}

37
modules/steam.nix Normal file
View file

@ -0,0 +1,37 @@
{ den, ... }: {
den.aspects.steam.nixos = { pkgs, ... }: {
programs.steam = {
enable = true;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
protontricks.enable = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
# Extra packages that steam might need
extraPackages = with pkgs; [
xorg.libXcursor
xorg.libXi
xorg.libXinerama
xorg.libXScrnSaver
libpng
libpulseaudio
libvorbis
stdenv.cc.cc.lib
libkrb5
keyutils
];
};
# Fonts for better game text rendering
fonts.packages = with pkgs; [
liberation_ttf
wqy_zenhei
];
};
}