nixos: Modularize NixOS and Home Manager config
This commit is contained in:
Vendored
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"servers": {
|
"servers": {
|
||||||
"nixos": {
|
"nixos": {
|
||||||
"command": "uvx",
|
"command": "nix",
|
||||||
"args": ["mcp-nixos"]
|
"args": ["run", "github:utensils/mcp-nixos", "--"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
{ config, lib, pkgs, apple-fonts, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./secureboot.nix
|
|
||||||
./maintenance.nix
|
|
||||||
./users.nix
|
|
||||||
./network.nix
|
|
||||||
./desktop.nix
|
|
||||||
./containers.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
loader = {
|
|
||||||
systemd-boot.enable = true;
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
plymouth.enable = true;
|
|
||||||
initrd.kernelModules = [ "amdgpu" ];
|
|
||||||
kernelPackages = pkgs.linuxPackages_cachyos ;
|
|
||||||
kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "iommu=pt" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "America/Argentina/Buenos_Aires";
|
|
||||||
i18n.defaultLocale = "es_AR.UTF-8";
|
|
||||||
|
|
||||||
services.hardware.deepcool-digital-linux.enable = true;
|
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
# Intel RAPL energy usage file
|
|
||||||
ACTION=="add", SUBSYSTEM=="powercap", KERNEL=="intel-rapl:0", RUN+="${pkgs.coreutils}/bin/chmod 444 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj"
|
|
||||||
|
|
||||||
# DeepCool HID raw devices
|
|
||||||
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3633", MODE="0666"
|
|
||||||
|
|
||||||
# CH510 MESH DIGITAL
|
|
||||||
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="34d3", ATTRS{idProduct}=="1100", MODE="0666"
|
|
||||||
# Elgato 4K X (all speed modes)
|
|
||||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009b", MODE="0666", GROUP="plugdev"
|
|
||||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009c", MODE="0666", GROUP="plugdev"
|
|
||||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009d", MODE="0666", GROUP="plugdev"
|
|
||||||
|
|
||||||
# Elgato 4K S (all speed modes)
|
|
||||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00af", MODE="0666", GROUP="plugdev"
|
|
||||||
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00ae", MODE="0666", GROUP="plugdev"
|
|
||||||
|
|
||||||
# nvtop
|
|
||||||
SUBSYSTEM=="drm", KERNEL=="card*", SUBSYSTEMS=="pci", DRIVERS=="amdgpu", RUN+="/bin/sh -c 'chmod -R g+r /sys/class/drm/%k/device/'"
|
|
||||||
'';
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
nix.settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
|
||||||
}
|
|
||||||
-126
@@ -1,126 +0,0 @@
|
|||||||
{pkgs, apple-fonts, vscode-server, inputs, ... }:
|
|
||||||
{
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
rocmPackages.clr.icd
|
|
||||||
];
|
|
||||||
};
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
services.displayManager = {
|
|
||||||
plasma-login-manager.enable = true;
|
|
||||||
sddm = { enable = true; wayland.enable = true; };
|
|
||||||
autoLogin = { enable = true; user = "emmatherock"; };
|
|
||||||
};
|
|
||||||
security.pam.services.sddm.enableKwallet = true;
|
|
||||||
security.pam.services.login.enableKwallet = true;
|
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.vscode-server.enable = true;
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji
|
|
||||||
nerd-fonts.fira-code nerd-fonts.jetbrains-mono
|
|
||||||
apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-pro
|
|
||||||
apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-mono
|
|
||||||
apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.ny
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# --- Base y Terminal ---
|
|
||||||
vim
|
|
||||||
git
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
fastfetch
|
|
||||||
(btop.override { cudaSupport = false; rocmSupport = true; })
|
|
||||||
nvtopPackages.full
|
|
||||||
ethtool
|
|
||||||
zsh
|
|
||||||
fish
|
|
||||||
starship
|
|
||||||
gemini-cli
|
|
||||||
rocmPackages.rocm-smi
|
|
||||||
|
|
||||||
# --- Herramientas de Sistema ---
|
|
||||||
btrfs-progs
|
|
||||||
kdePackages.partitionmanager
|
|
||||||
kdePackages.kalk
|
|
||||||
tailscale
|
|
||||||
distrobox
|
|
||||||
steam-run
|
|
||||||
localsend
|
|
||||||
inputs.lan-mouse.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
deskflow
|
|
||||||
|
|
||||||
# --- Trabajo y Notas ---
|
|
||||||
(vscode-with-extensions.override {
|
|
||||||
vscodeExtensions = with vscode-extensions; [
|
|
||||||
jnoortheen.nix-ide
|
|
||||||
ms-python.python
|
|
||||||
vscode-extensions.ms-dotnettools.csharp
|
|
||||||
vscode-extensions.ms-vscode.cpptools
|
|
||||||
vscode-extensions.golang.go
|
|
||||||
vscode-extensions.rust-lang.rust-analyzer
|
|
||||||
vscode-extensions.Google.gemini-cli-vscode-ide-companion
|
|
||||||
vscode-extensions.ms-azuretools.vscode-containers
|
|
||||||
ms-vscode-remote.remote-ssh
|
|
||||||
vscode-extensions.coolbear.systemd-unit-file
|
|
||||||
];
|
|
||||||
})
|
|
||||||
obsidian
|
|
||||||
|
|
||||||
# --- Multimedia y Comunicación ---
|
|
||||||
(discord.override {
|
|
||||||
# withOpenASAR = true; # can do this here too
|
|
||||||
withVencord = true;
|
|
||||||
})
|
|
||||||
spotify
|
|
||||||
chatterino7
|
|
||||||
plex-desktop
|
|
||||||
cider-2
|
|
||||||
inputs.sidra.packages.${pkgs.stdenv.hostPlatform.system}.default
|
|
||||||
telegram-desktop
|
|
||||||
|
|
||||||
# --- Audio y Video ---
|
|
||||||
carla
|
|
||||||
haruna
|
|
||||||
qpwgraph
|
|
||||||
pipewire
|
|
||||||
(pkgs.wrapOBS {
|
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
|
||||||
obs-pipewire-audio-capture
|
|
||||||
obs-vkcapture
|
|
||||||
obs-composite-blur
|
|
||||||
obs-aitum-multistream
|
|
||||||
obs-vertical-canvas
|
|
||||||
];
|
|
||||||
})
|
|
||||||
vlc
|
|
||||||
|
|
||||||
# --- Gaming ---
|
|
||||||
faugus-launcher
|
|
||||||
plezy
|
|
||||||
protonplus
|
|
||||||
protontricks
|
|
||||||
proton-authenticator
|
|
||||||
mangohud
|
|
||||||
gamemode
|
|
||||||
cemu
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
firefox.enable = true;
|
|
||||||
fish.enable = true;
|
|
||||||
starship.enable = true;
|
|
||||||
steam = { enable = true; remotePlay.openFirewall = true; };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Generated
+25
-61
@@ -205,6 +205,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781706760,
|
||||||
|
"narHash": "sha256-jkSzXcasiZZ72q5f92FLHdIGAlGhX+124xQrbbczbF0=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "a2e23ee8f8699f8971b4fde86efc1b7ec1e19681",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"jovian": {
|
"jovian": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nix-github-actions": [
|
"nix-github-actions": [
|
||||||
@@ -229,25 +249,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lan-mouse": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"rust-overlay": "rust-overlay_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1781517640,
|
|
||||||
"narHash": "sha256-zCFYzIGWm5ShL/dO/SxwyHCCDerWveLiWpoeGDWKLi4=",
|
|
||||||
"owner": "feschber",
|
|
||||||
"repo": "lan-mouse",
|
|
||||||
"rev": "d1f41180e3f18cbc66d69dae39917b2d705c9abc",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "feschber",
|
|
||||||
"repo": "lan-mouse",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lanzaboote": {
|
"lanzaboote": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
@@ -255,7 +256,7 @@
|
|||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"pre-commit": "pre-commit",
|
"pre-commit": "pre-commit",
|
||||||
"rust-overlay": "rust-overlay_3"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765382359,
|
"lastModified": 1765382359,
|
||||||
@@ -330,22 +331,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1772963539,
|
|
||||||
"narHash": "sha256-9jVDGZnvCckTGdYT53d/EfznygLskyLQXYwJLKMPsZs=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "9dcb002ca1690658be4a04645215baea8b95f31d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1781074563,
|
"lastModified": 1781074563,
|
||||||
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
"narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=",
|
||||||
@@ -361,7 +346,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1682134069,
|
"lastModified": 1682134069,
|
||||||
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
|
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
|
||||||
@@ -414,9 +399,9 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"apple-fonts": "apple-fonts",
|
"apple-fonts": "apple-fonts",
|
||||||
"chaotic": "chaotic",
|
"chaotic": "chaotic",
|
||||||
"lan-mouse": "lan-mouse",
|
"home-manager": "home-manager_2",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"sidra": "sidra",
|
"sidra": "sidra",
|
||||||
"vscode-server": "vscode-server"
|
"vscode-server": "vscode-server"
|
||||||
}
|
}
|
||||||
@@ -443,27 +428,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay_2": {
|
"rust-overlay_2": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"lan-mouse",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1773025773,
|
|
||||||
"narHash": "sha256-Wik8+xApNfldpUFjPmJkPdg0RrvUPSWGIZis+A/0N1w=",
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"rev": "3c06fdbbd36ff60386a1e590ee0cd52dcd1892bf",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rust-overlay_3": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"lanzaboote",
|
"lanzaboote",
|
||||||
@@ -606,7 +570,7 @@
|
|||||||
"vscode-server": {
|
"vscode-server": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770124655,
|
"lastModified": 1770124655,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
description = "NixOS con Kernel CachyOS (vía xddxdd)";
|
description = "NixOS configuration for my homelab";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
@@ -13,31 +13,33 @@
|
|||||||
url = "github:nix-community/lanzaboote/v1.0.0";
|
url = "github:nix-community/lanzaboote/v1.0.0";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
lan-mouse.url = "github:feschber/lan-mouse";
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
vscode-server.url = "github:nix-community/nixos-vscode-server";
|
vscode-server.url = "github:nix-community/nixos-vscode-server";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, chaotic, apple-fonts, lanzaboote, lan-mouse, sidra, vscode-server, ... }@inputs: {
|
outputs = { self, nixpkgs, chaotic, apple-fonts, lanzaboote, home-manager, sidra, vscode-server, ... }@inputs: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
miku-homelab = nixpkgs.lib.nixosSystem {
|
miku-homelab = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
specialArgs = { inherit apple-fonts inputs; };
|
specialArgs = { inherit apple-fonts inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./hosts/miku-homelab
|
||||||
lanzaboote.nixosModules.lanzaboote
|
lanzaboote.nixosModules.lanzaboote
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
vscode-server.nixosModules.default
|
vscode-server.nixosModules.default
|
||||||
chaotic.nixosModules.default
|
chaotic.nixosModules.default
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = { inherit inputs; };
|
||||||
|
home-manager.users.emmatherock = import ./home/emmatherock/home.nix;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
nixConfig = {
|
|
||||||
extra-substituters = [
|
|
||||||
"https://lan-mouse.cachix.org/"
|
|
||||||
];
|
|
||||||
extra-trusted-public-keys = [
|
|
||||||
"lan-mouse.cachix.org-1:KlE2AEZUgkzNKM7BIzMQo8w9yJYqUpor1CAUNRY6OyM="
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
obsidian
|
||||||
|
(discord.override {
|
||||||
|
# withOpenASAR = true; # can do this here too
|
||||||
|
withVencord = true;
|
||||||
|
})
|
||||||
|
chatterino7
|
||||||
|
telegram-desktop
|
||||||
|
localsend
|
||||||
|
deskflow
|
||||||
|
kdePackages.kalk
|
||||||
|
kdePackages.partitionmanager
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
faugus-launcher
|
||||||
|
plezy
|
||||||
|
protonplus
|
||||||
|
protontricks
|
||||||
|
proton-authenticator
|
||||||
|
mangohud
|
||||||
|
cemu
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
programs.git.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./desktop-apps.nix
|
||||||
|
./gaming.nix
|
||||||
|
./git.nix
|
||||||
|
./media.nix
|
||||||
|
./obs.nix
|
||||||
|
./packages.nix
|
||||||
|
./shell.nix
|
||||||
|
./vscode.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
spotify
|
||||||
|
cider-2
|
||||||
|
haruna
|
||||||
|
vlc
|
||||||
|
carla
|
||||||
|
qpwgraph
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.wrapOBS {
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
obs-pipewire-audio-capture
|
||||||
|
obs-vkcapture
|
||||||
|
obs-composite-blur
|
||||||
|
obs-aitum-multistream
|
||||||
|
obs-vertical-canvas
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ pkgs, inputs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# --- Base y Terminal ---
|
||||||
|
vim
|
||||||
|
fastfetch
|
||||||
|
(btop.override { cudaSupport = false; rocmSupport = true; })
|
||||||
|
nvtopPackages.full
|
||||||
|
gemini-cli
|
||||||
|
inputs.sidra.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
programs.fish.enable = true;
|
||||||
|
programs.starship.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
(vscode-with-extensions.override {
|
||||||
|
vscodeExtensions = with vscode-extensions; [
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
ms-python.python
|
||||||
|
vscode-extensions.ms-dotnettools.csharp
|
||||||
|
vscode-extensions.ms-vscode.cpptools
|
||||||
|
vscode-extensions.golang.go
|
||||||
|
vscode-extensions.rust-lang.rust-analyzer
|
||||||
|
vscode-extensions.Google.gemini-cli-vscode-ide-companion
|
||||||
|
vscode-extensions.ms-azuretools.vscode-containers
|
||||||
|
ms-vscode-remote.remote-ssh
|
||||||
|
vscode-extensions.coolbear.systemd-unit-file
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../modules/security/secureboot.nix
|
||||||
|
../../modules/services/maintenance.nix
|
||||||
|
../../modules/system/audio.nix
|
||||||
|
../../modules/system/fonts.nix
|
||||||
|
../../modules/system/gaming.nix
|
||||||
|
../../modules/system/graphics.nix
|
||||||
|
../../modules/system/packages.nix
|
||||||
|
../../modules/system/shells.nix
|
||||||
|
../../modules/system/users.nix
|
||||||
|
../../modules/system/networking.nix
|
||||||
|
../../modules/desktop/firefox.nix
|
||||||
|
../../modules/desktop/plasma.nix
|
||||||
|
../../modules/services/containers.nix
|
||||||
|
../../modules/services/vscode-server.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
plymouth.enable = true;
|
||||||
|
initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
kernelPackages = pkgs.linuxPackages_cachyos ;
|
||||||
|
kernelParams = [ "quiet" "splash" "boot.shell_on_fail" "loglevel=3" "iommu=pt" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "America/Argentina/Buenos_Aires";
|
||||||
|
i18n.defaultLocale = "es_AR.UTF-8";
|
||||||
|
|
||||||
|
services.hardware.deepcool-digital-linux.enable = true;
|
||||||
|
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
# Intel RAPL energy usage file
|
||||||
|
ACTION=="add", SUBSYSTEM=="powercap", KERNEL=="intel-rapl:0", RUN+="${pkgs.coreutils}/bin/chmod 444 /sys/class/powercap/intel-rapl/intel-rapl:0/energy_uj"
|
||||||
|
|
||||||
|
# DeepCool HID raw devices
|
||||||
|
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3633", MODE="0666"
|
||||||
|
|
||||||
|
# CH510 MESH DIGITAL
|
||||||
|
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="34d3", ATTRS{idProduct}=="1100", MODE="0666"
|
||||||
|
# Elgato 4K X (all speed modes)
|
||||||
|
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009b", MODE="0666", GROUP="plugdev"
|
||||||
|
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009c", MODE="0666", GROUP="plugdev"
|
||||||
|
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="009d", MODE="0666", GROUP="plugdev"
|
||||||
|
|
||||||
|
# Elgato 4K S (all speed modes)
|
||||||
|
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00af", MODE="0666", GROUP="plugdev"
|
||||||
|
SUBSYSTEM=="usb", ATTR{idVendor}=="0fd9", ATTR{idProduct}=="00ae", MODE="0666", GROUP="plugdev"
|
||||||
|
|
||||||
|
# nvtop
|
||||||
|
SUBSYSTEM=="drm", KERNEL=="card*", SUBSYSTEMS=="pci", DRIVERS=="amdgpu", RUN+="/bin/sh -c 'chmod -R g+r /sys/class/drm/%k/device/'"
|
||||||
|
'';
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
}
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Optimización automática del storage (une archivos idénticos)
|
|
||||||
nix.settings.auto-optimise-store = true;
|
|
||||||
|
|
||||||
# Garbage Collector automático
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly"; # Se ejecuta cada semana
|
|
||||||
options = "--delete-older-than 14d"; # Borra lo que tenga más de 2 semanas
|
|
||||||
};
|
|
||||||
|
|
||||||
# Opcional: Limpieza de logs de Systemd para que no crezcan infinito
|
|
||||||
services.journald.extraConfig = "SystemMaxUse=500M";
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
programs.firefox.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
services.displayManager = {
|
||||||
|
plasma-login-manager.enable = true;
|
||||||
|
autoLogin = { enable = true; user = "emmatherock"; };
|
||||||
|
};
|
||||||
|
security.pam.services.login.enableKwallet = true;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Lanzaboote reemplaza al systemd-boot estándar
|
# Lanzaboote reemplaza al systemd-boot estándar
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.journald.extraConfig = "SystemMaxUse=500M";
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
services.vscode-server.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{pkgs, apple-fonts, ... }:
|
||||||
|
{
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji
|
||||||
|
nerd-fonts.fira-code nerd-fonts.jetbrains-mono
|
||||||
|
apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-pro
|
||||||
|
apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.sf-mono
|
||||||
|
apple-fonts.packages.${pkgs.stdenv.hostPlatform.system}.ny
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
programs = {
|
||||||
|
gamemode.enable = true;
|
||||||
|
steam = { enable = true; remotePlay.openFirewall = true; };
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
rocmPackages.clr.icd
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{pkgs, ... }:
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
ethtool
|
||||||
|
fish
|
||||||
|
rocmPackages.rocm-smi
|
||||||
|
btrfs-progs
|
||||||
|
distrobox
|
||||||
|
steam-run
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
programs = {
|
||||||
|
fish.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user