formated with alejandra

This commit is contained in:
2026-03-13 20:48:20 -07:00
parent 43090c4f5b
commit 5714348922
37 changed files with 1527 additions and 1537 deletions
+47 -48
View File
@@ -3,7 +3,7 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
nix-snapd.url = "github:nix-community/nix-snapd";
@@ -31,49 +31,48 @@
};
};
outputs =
{ self,
comfyui-nix,
home-manager,
home-manager-unstable,
nix-darwin,
nix-snapd,
nixos-hardware,
nixpkgs,
nixpkgs-unstable,
nixvim,
...
}@inputs:
let
system = "x86_64-linux";
configPath = "/etc/nixos";
pkgs-unstable = import nixpkgs-unstable {
system = system;
config.allowUnfree = true;
overlays = [ comfyui-nix.overlays.default ];
};
# Host type abstractions
hostTypes = {
# Server hosts
isServer = hostname: builtins.elem hostname [ "acheron" "armaros" "buildbox" "ender-ml" ];
# Linux desktop hosts
isLinuxDesktop = hostname: builtins.elem hostname [ "eva-01" "eva-03" ];
# macOS host
isMacos = hostname: hostname == "eva-02";
# Helper to get host type category
getHostType = hostname:
if builtins.elem hostname [ "acheron" "armaros" "buildbox" "ender-ml" ] then "server"
else if hostname == "eva-02" then "macos"
else "linux-desktop";
};
in
{
nixosConfigurations = {
outputs = {
self,
comfyui-nix,
home-manager,
home-manager-unstable,
nix-darwin,
nix-snapd,
nixos-hardware,
nixpkgs,
nixpkgs-unstable,
nixvim,
...
} @ inputs: let
system = "x86_64-linux";
configPath = "/etc/nixos";
pkgs-unstable = import nixpkgs-unstable {
system = system;
config.allowUnfree = true;
overlays = [comfyui-nix.overlays.default];
};
# Host type abstractions
hostTypes = {
# Server hosts
isServer = hostname: builtins.elem hostname ["acheron" "armaros" "buildbox" "ender-ml"];
# Linux desktop hosts
isLinuxDesktop = hostname: builtins.elem hostname ["eva-01" "eva-03"];
# macOS host
isMacos = hostname: hostname == "eva-02";
# Helper to get host type category
getHostType = hostname:
if builtins.elem hostname ["acheron" "armaros" "buildbox" "ender-ml"]
then "server"
else if hostname == "eva-02"
then "macos"
else "linux-desktop";
};
in {
nixosConfigurations = {
acheron = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit inputs pkgs-unstable configPath hostTypes;
@@ -133,7 +132,8 @@
./hosts/eva-01/configuration.nix
inputs.home-manager.nixosModules.default
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1
nix-snapd.nixosModules.default { services.snap.enable = true; }
nix-snapd.nixosModules.default
{services.snap.enable = true;}
];
};
@@ -149,18 +149,17 @@
comfyui-nix.nixosModules.default
];
};
};
darwinConfigurations = {
eva-02 = nix-darwin.lib.darwinSystem{
eva-02 = nix-darwin.lib.darwinSystem {
specialArgs = {
inherit inputs configPath hostTypes;
hostname = "eva-02";
pkgs-unstable = import nixpkgs-unstable {
system = "aarch64-darwin";
config.allowUnfree = true;
overlays = [ comfyui-nix.overlays.default ];
overlays = [comfyui-nix.overlays.default];
};
};
system = "aarch64-darwin";
+202 -211
View File
@@ -5,11 +5,9 @@
hostname,
hostTypes,
...
}:
let
}: let
list-keybinds = pkgs.writeShellScriptBin "list-keybinds" ''
hyprctl binds -j | ${pkgs.jq}/bin/jq -r '.[] |
hyprctl binds -j | ${pkgs.jq}/bin/jq -r '.[] |
select(.dispatcher != "") |
"[\(.modmask_str // "NONE")] + \(.key) \(.dispatcher) \(.arg // "")"
' | ${pkgs.rofi}/bin/rofi -dmenu \
@@ -17,8 +15,7 @@ let
-p "Keybinds" \
-theme-str 'window {width: 60%;}'
'';
in
{
in {
imports = [
./direnv.nix
# ./custom/custom.nix
@@ -32,218 +29,212 @@ in
./zsh.nix
];
home.packages = with pkgs; [
# Common packages for all systems
alejandra
age
age-plugin-1p
age-plugin-yubikey
agedu
b3sum
bandwhich
bat
basalt
btop
cpufetch
cpuid
cpu-x
curl
dig
docker
dust
fd
file
findutils
fosrl-olm
fzf
git
git-filter-repo
glances
gping
graphviz
jq
kitty
kopia
lazydocker
lazygit
lazyjournal
manga-tui
mcat
netop
nettools
nix-du
nixfmt
nix-prefetch-github
nmap
openssh
openssl
ptunnel
ripgrep
s3cmd
timg
tldr
trippy
trivy
tuptime
unzip
wget
wireguard-tools
yazi
yt-dlp
zstd
list-keybinds
]
# Desktop-specific packages (Linux desktops and macOS)
++ lib.optionals (!(hostTypes.isServer hostname)) (with pkgs; [
claude-code
caligula
ocamlPackages.utop
opencode
openconnect
yubikey-manager
])
# Server-specific packages
++ lib.optionals (hostTypes.isServer hostname) (with pkgs; [
gparted
parted
plocate
tailscale
tlp
traceroute
ffmpeg-full
pkgs-unstable.witr
])
# Linux desktop packages
++ lib.optionals (hostTypes.isLinuxDesktop hostname) (with pkgs; [
plocate
tlp
swaynotificationcenter
gparted
nerd-fonts.jetbrains-mono
nerd-fonts.hack
nerd-fonts.fira-code
dejavu_fonts
])
# Pentesting/security tools (eva-01 and eva-03)
++ lib.optionals (builtins.elem hostname [ "eva-01" "eva-03" ]) (with pkgs; [
aircrack-ng
amass
bettercap
bloodhound
bully
burpsuite
cowpatty
crunch
dirbuster
dnschef
ffuf
hash-identifier
hashcat
hashcat-utils
hcxdumptool
hcxtools
hping
macchanger
medusa
metasploit
netdiscover
netexec
pwnat
pwncat
reaverwps-t6x
recon-ng
rustscan
sqlmap
steghide
thc-hydra
wifite2
wirelesstools
])
# eva-01 specific
++ lib.optionals (hostname == "eva-01") [
pkgs.rpi-imager
pkgs.libusb1
pkgs.parted
pkgs.traceroute
pkgs.android-tools
]
# eva-03 specific
++ lib.optionals (hostname == "eva-03") [
pkgs.parted
pkgs.traceroute
pkgs.ffmpeg-full
pkgs-unstable.vscode
(pkgs-unstable.llama-cpp.override { cudaSupport = true; })
pkgs-unstable.witr
]
# buildbox specific
++ lib.optionals (hostname == "buildbox") [
pkgs.parted
pkgs.traceroute
pkgs.ffmpeg-full
pkgs-unstable.witr
]
# ender-ml specific
++ lib.optionals (hostname == "ender-ml") [
pkgs-unstable.stable-diffusion-cpp-cuda
(pkgs-unstable.llama-cpp.override { cudaSupport = true; })
pkgs-unstable.witr
pkgs-unstable.comfy-ui-cuda
]
# acheron specific
++ lib.optionals (hostname == "acheron") [
pkgs.pkgs-unstable.witr
]
# eva-02 (macOS) specific
++ lib.optionals (hostname == "eva-02") [
pkgs-unstable.vscode
];
home.packages = with pkgs;
[
# Common packages for all systems
alejandra
age
age-plugin-1p
age-plugin-yubikey
agedu
b3sum
bandwhich
bat
basalt
btop
cpufetch
cpuid
cpu-x
curl
dig
docker
dust
fd
file
findutils
fosrl-olm
fzf
git
git-filter-repo
glances
gping
graphviz
jq
kitty
kopia
lazydocker
lazygit
lazyjournal
manga-tui
mcat
netop
nettools
nix-du
nixfmt
nix-prefetch-github
nmap
openssh
openssl
ptunnel
ripgrep
s3cmd
timg
tldr
trippy
trivy
tuptime
unzip
wget
wireguard-tools
yazi
yt-dlp
zstd
list-keybinds
]
# Desktop-specific packages (Linux desktops and macOS)
++ lib.optionals (!(hostTypes.isServer hostname)) (with pkgs; [
claude-code
caligula
ocamlPackages.utop
opencode
openconnect
yubikey-manager
])
# Server-specific packages
++ lib.optionals (hostTypes.isServer hostname) (with pkgs; [
gparted
parted
plocate
tailscale
tlp
traceroute
ffmpeg-full
pkgs-unstable.witr
])
# Linux desktop packages
++ lib.optionals (hostTypes.isLinuxDesktop hostname) (with pkgs; [
plocate
tlp
swaynotificationcenter
gparted
nerd-fonts.jetbrains-mono
nerd-fonts.hack
nerd-fonts.fira-code
dejavu_fonts
])
# Pentesting/security tools (eva-01 and eva-03)
++ lib.optionals (builtins.elem hostname ["eva-01" "eva-03"]) (with pkgs; [
aircrack-ng
amass
bettercap
bloodhound
bully
burpsuite
cowpatty
crunch
dirbuster
dnschef
ffuf
hash-identifier
hashcat
hashcat-utils
hcxdumptool
hcxtools
hping
macchanger
medusa
metasploit
netdiscover
netexec
pwnat
pwncat
reaverwps-t6x
recon-ng
rustscan
sqlmap
steghide
thc-hydra
wifite2
wirelesstools
])
# eva-01 specific
++ lib.optionals (hostname == "eva-01") [
pkgs.rpi-imager
pkgs.libusb1
pkgs.parted
pkgs.traceroute
pkgs.android-tools
]
# eva-03 specific
++ lib.optionals (hostname == "eva-03") [
pkgs.parted
pkgs.traceroute
pkgs.ffmpeg-full
pkgs-unstable.vscode
(pkgs-unstable.llama-cpp.override {cudaSupport = true;})
pkgs-unstable.witr
]
# buildbox specific
++ lib.optionals (hostname == "buildbox") [
pkgs.parted
pkgs.traceroute
pkgs.ffmpeg-full
pkgs-unstable.witr
]
# ender-ml specific
++ lib.optionals (hostname == "ender-ml") [
pkgs-unstable.stable-diffusion-cpp-cuda
(pkgs-unstable.llama-cpp.override {cudaSupport = true;})
pkgs-unstable.witr
pkgs-unstable.comfy-ui-cuda
]
# acheron specific
++ lib.optionals (hostname == "acheron") [
pkgs.pkgs-unstable.witr
]
# eva-02 (macOS) specific
++ lib.optionals (hostname == "eva-02") [
pkgs-unstable.vscode
];
programs = {
ssh = {
enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
setEnv = {
TERM = "xterm-256color";
matchBlocks =
{
"*" = {
setEnv = {
TERM = "xterm-256color";
};
forwardAgent = false;
forwardX11 = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
};
}
// lib.optionalAttrs (hostname == "buildbox" || hostname == "ender-ml" || hostname == "armaros") {
"192.168.8.109" = {
identityFile = "~/.ssh/gitea-headless";
user = "gitea";
};
"gitea.miguelmuniz.com" = {
identityFile = "~/.ssh/gitea-headless";
user = "gitea";
};
"github.com" = {
identityFile = "~/.ssh/github-headless";
user = "git";
};
forwardAgent = false;
forwardX11 = false;
serverAliveInterval = 0;
serverAliveCountMax = 3;
};
} // lib.optionalAttrs (hostname == "buildbox" || hostname == "ender-ml" || hostname == "armaros") {
"192.168.8.109" = {
identityFile = "~/.ssh/gitea-headless";
user = "gitea";
};
"gitea.miguelmuniz.com" = {
identityFile = "~/.ssh/gitea-headless";
user = "gitea";
};
"github.com" = {
identityFile = "~/.ssh/github-headless";
user = "git";
};
};
extraConfig = if hostname == "eva-02"
then ''
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
IdentityAgent ~/.1password/agent.sock
'';
extraConfig =
if hostname == "eva-02"
then ''
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
IdentityAgent ~/.1password/agent.sock
'';
};
zoxide = {
+3 -3
View File
@@ -3,8 +3,8 @@ let
# Import your nixpkgs channel. The <> syntax finds it automatically.
pkgs = import <nixpkgs> {
# Apply your overlay here
overlays = [ (import ./sage.nix) ];
overlays = [(import ./sage.nix)];
};
in
# This file now evaluates to exactly one thing: the sage package.
pkgs.sage
# This file now evaluates to exactly one thing: the sage package.
pkgs.sage
+1 -4
View File
@@ -2,11 +2,8 @@
pkgs,
hostname,
...
}:
{
}: {
nixpkgs.overlays = [
(import ./sage.nix)
];
}
+3 -4
View File
@@ -1,5 +1,4 @@
final: prev: {
# We are adding a package named 'sage' to the package set
sage = prev.rustPlatform.buildRustPackage rec {
pname = "sage";
@@ -15,13 +14,13 @@ final: prev: {
# Placeholder hash for cargo dependencies - the build will tell you the correct one.
cargoHash = "sha256-BXTEUGH2KB1gYl9cERVPbhAs0soezsSabg0nDedEjRI=";
#cargoLock.lockFile = ./Cargo.lock;
meta = with prev.lib; {
description = "A tool for elegant mathematics";
homepage = "https://github.com/Rogue-King/sage";
license = licenses.mit;
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
maintainers = with maintainers; [ ];
platforms = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
maintainers = with maintainers; [];
};
};
}
+25 -29
View File
@@ -3,9 +3,7 @@
lib,
configPath,
...
}:
let
}: let
# Map hostnames to their image files
hostImages = {
"acheron" = "${configPath}/assets/pfp/nerv-color.png";
@@ -22,35 +20,33 @@ let
# Detect terminal type
# Check if we're in an SSH session first
isSSH = builtins.getEnv "SSH_TTY" != "" || builtins.getEnv "SSH_CONNECTION" != "";
# Terminal detection logic
# For SSH sessions, default to chafa since we can't guarantee terminal capabilities
terminalType =
if isSSH then
# Enhanced SSH detection: try to detect Kitty, fallback to chafa
let
term = builtins.getEnv "TERM";
termProgram = builtins.getEnv "TERM_PROGRAM";
kittyWindowId = builtins.getEnv "KITTY_WINDOW_ID";
kittyPid = builtins.getEnv "KITTY_PID";
# Kitty detection over SSH
isKittyOverSSH = kittyWindowId != "" ||
kittyPid != "" ||
termProgram == "kitty" ||
lib.hasInfix "kitty" term ||
lib.hasInfix "xterm-kitty" term;
in
if isKittyOverSSH then
"kitty"
else
"chafa"
terminalType =
if isSSH
then
# Enhanced SSH detection: try to detect Kitty, fallback to chafa
let
term = builtins.getEnv "TERM";
termProgram = builtins.getEnv "TERM_PROGRAM";
kittyWindowId = builtins.getEnv "KITTY_WINDOW_ID";
kittyPid = builtins.getEnv "KITTY_PID";
else
"kitty";
in
{
# Kitty detection over SSH
isKittyOverSSH =
kittyWindowId
!= ""
|| kittyPid != ""
|| termProgram == "kitty"
|| lib.hasInfix "kitty" term
|| lib.hasInfix "xterm-kitty" term;
in
if isKittyOverSSH
then "kitty"
else "chafa"
else "kitty";
in {
programs = {
fastfetch = {
enable = true;
+29 -28
View File
@@ -2,37 +2,38 @@
hostname,
lib,
...
}:
{
}: {
programs = {
git = {
enable = true;
lfs.enable = true;
settings = {
user = {
name = "rogueking";
email = "miguel@muniz.org";
};
} // lib.optionalAttrs (! (lib.elem hostname [ "buildbox" "ender-ml" ])) {
gpg = {
format = "ssh";
ssh = lib.optionalAttrs (hostname == "eva-02") {
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
git =
{
enable = true;
lfs.enable = true;
settings =
{
user = {
name = "rogueking";
email = "miguel@muniz.org";
};
}
// lib.optionalAttrs (! (lib.elem hostname ["buildbox" "ender-ml"])) {
gpg = {
format = "ssh";
ssh = lib.optionalAttrs (hostname == "eva-02") {
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
};
};
};
}
// lib.optionalAttrs (! (lib.elem hostname ["buildbox" "ender-ml"])) {
signing = {
signByDefault = true;
signer =
if hostname == "eva-02"
then "/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
else "/opt/1Password/op-ssh-sign";
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHI7zcxrwwg4VqpGduhPX31aslzXwkRXiM32+8K+aIMu";
};
};
} // lib.optionalAttrs (! (lib.elem hostname [ "buildbox" "ender-ml" ])) {
signing = {
signByDefault = true;
signer = if hostname == "eva-02"
then
"/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
else
"/opt/1Password/op-ssh-sign";
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHI7zcxrwwg4VqpGduhPX31aslzXwkRXiM32+8K+aIMu";
};
};
};
}
+2 -2
View File
@@ -2,8 +2,8 @@
programs.newsboat = {
enable = true;
urls = [
{ url = "https://dev.to/feed"; }
{ url = "https://stackoverflow.blog/feed/"; }
{url = "https://dev.to/feed";}
{url = "https://stackoverflow.blog/feed/";}
];
};
}
+1 -3
View File
@@ -2,9 +2,7 @@
lib,
hostname,
...
}:
{
}: {
programs.nixvim = {
enable = true;
defaultEditor = true;
+1 -1
View File
@@ -117,7 +117,7 @@
{
action = "\"+y<CR>";
key = "<leader>y";
mode = [ "v" ];
mode = ["v"];
options = {
silent = true;
noremap = true;
@@ -3,9 +3,7 @@
lib,
hostname,
...
}:
{
}: {
imports = [
#./blink-cmp.nix
./glance.nix
@@ -50,7 +48,7 @@
};
programs.nixvim.performance.byteCompileLua = {
enable = true;
enable = true;
plugins = true;
};
}
+1 -2
View File
@@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs.nixvim.plugins = {
lsp = {
enable = true;
+76 -80
View File
@@ -1,90 +1,86 @@
{ lib, ... }:
{
{lib, ...}: {
programs = {
starship = {
enable = true;
settings = {
add_newline = true;
format = lib.concatStrings [
"$time"
"$directory"
"$git_branch"
"$git_status"
"$hostname"
"$golang"
"$direnv"
"$status"
];
add_newline = true;
format = lib.concatStrings [
"$time"
"$directory"
"$git_branch"
"$git_status"
"$hostname"
"$golang"
"$direnv"
"$status"
];
right_format = lib.concatStrings [
"$cmd_duration"
];
right_format = lib.concatStrings [
"$cmd_duration"
];
cmd_duration = {
disabled = false;
show_notifications = false;
min_time = 2000;
format = "[$duration](bold yellow)";
cmd_duration = {
disabled = false;
show_notifications = false;
min_time = 2000;
format = "[$duration](bold yellow)";
};
directory = {
style = "cyan";
format = ''\[[$path]($style)\] '';
};
direnv = {
disabled = false;
};
git_branch = {
style = "bold cyan";
format = ''\[[$symbol$branch(:$remote_branch)]($style)\] '';
};
git_status = {
format = "[($all_status$ahead_behind )]($style)";
conflicted = "🏳";
ahead = "\${count}";
diverged = "\${ahead_count}\${behind_count}";
behind = "\${count}";
up_to_date = "";
untracked = "🤷";
stashed = "📦";
modified = "📝";
staged = ''[++\($count\)](green)'';
renamed = "👅";
deleted = "🗑";
};
golang = {
format = ''\[[$symbol($version)]($style)\]'';
};
hostname = {
format = "[$ssh_symbol$hostname]($style) ";
};
rust = {
format = ''[$symbol($version )]($style)'';
};
status = {
disabled = false;
success_symbol = "[](bold red)[](bold yellow)[](bold green) ";
symbol = "[](bold red) ";
format = "$symbol";
};
time = {
disabled = false;
style = "cyan";
format = ''\[[$time]($style)\] '';
use_12hr = true;
};
};
directory = {
style = "cyan";
format = ''\[[$path]($style)\] '';
};
direnv = {
disabled = false;
};
git_branch = {
style = "bold cyan";
format = ''\[[$symbol$branch(:$remote_branch)]($style)\] '';
};
git_status = {
format = "[($all_status$ahead_behind )]($style)";
conflicted = "🏳";
ahead = "\${count}";
diverged = "\${ahead_count}\${behind_count}";
behind = "\${count}";
up_to_date = "";
untracked = "🤷";
stashed = "📦";
modified = "📝";
staged = ''[++\($count\)](green)'';
renamed = "👅";
deleted = "🗑";
};
golang = {
format = ''\[[$symbol($version)]($style)\]'';
};
hostname = {
format = "[$ssh_symbol$hostname]($style) ";
};
rust = {
format = ''[$symbol($version )]($style)'';
};
status = {
disabled = false;
success_symbol = "[](bold red)[](bold yellow)[](bold green) ";
symbol = "[](bold red) ";
format = "$symbol";
};
time = {
disabled = false;
style = "cyan";
format = ''\[[$time]($style)\] '';
use_12hr = true;
};
};
};
};
}
+1 -3
View File
@@ -1,6 +1,4 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
programs = {
tmux = {
enable = true;
+17 -14
View File
@@ -1,5 +1,9 @@
{ config, configPath, hostname, ... }:
{
config,
configPath,
hostname,
...
}: {
programs = {
zsh = {
enable = true;
@@ -21,24 +25,24 @@
open = "xdg-open";
locate = "sudo plocate";
tulpn = "sudo netstat -tulpn";
rebuild = if hostname == "eva-02"
then
"sudo darwin-rebuild switch --flake .#eva-02"
else
"sudo nixos-rebuild switch --flake /etc/nixos#$(uname -n)";
rebuild =
if hostname == "eva-02"
then "sudo darwin-rebuild switch --flake .#eva-02"
else "sudo nixos-rebuild switch --flake /etc/nixos#$(uname -n)";
};
# profileExtra = ''
# export SSH_AUTH_SOCK=~/.1password/agent.sock
# '';
profileExtra = if hostname == "eva-02"
then ''
export SSH_AUTH_SOCK="~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
export SSH_AUTH_SOCK=~/.1password/agent.sock
'';
profileExtra =
if hostname == "eva-02"
then ''
export SSH_AUTH_SOCK="~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
export SSH_AUTH_SOCK=~/.1password/agent.sock
'';
initContent = ''
fastfetch
@@ -60,4 +64,3 @@
};
};
}
+16 -13
View File
@@ -1,25 +1,30 @@
{ config, pkgs, inputs, lib, ... }:
{
config,
pkgs,
inputs,
lib,
...
}: {
imports = [
./commands/commands.nix
./programs/programs.nix
inputs.nixvim.homeModules.nixvim
];
./commands/commands.nix
./programs/programs.nix
inputs.nixvim.homeModules.nixvim
];
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "cris";
# home.homeDirectory = "/Users/cris";
home.homeDirectory = if pkgs.stdenv.isDarwin
then "/Users/cris" # Path for macOS
else "/home/cris"; # Path for Linux
home.homeDirectory =
if pkgs.stdenv.isDarwin
then "/Users/cris" # Path for macOS
else "/home/cris"; # Path for Linux
programs.git = {
enable = true;
userName = lib.mkForce "cris";
userEmail = lib.mkForce "cristiandrosales@gmail.com"; # Update with cris's actual email
userEmail = lib.mkForce "cristiandrosales@gmail.com"; # Update with cris's actual email
lfs.enable = true;
};
@@ -37,8 +42,6 @@
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
+4 -8
View File
@@ -4,9 +4,7 @@
pkgs-unstable,
inputs,
...
}:
{
}: {
imports = [
./commands/commands.nix
./programs/programs.nix
@@ -19,10 +17,9 @@
# home.homeDirectory = "/Users/rogueking";
home.homeDirectory =
if pkgs.stdenv.isDarwin then
"/Users/rogueking" # Path for macOS
else
"/home/rogueking"; # Path for Linux
if pkgs.stdenv.isDarwin
then "/Users/rogueking" # Path for macOS
else "/home/rogueking"; # Path for Linux
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
@@ -43,7 +40,6 @@
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
+2 -3
View File
@@ -2,8 +2,7 @@
hostname,
lib,
...
}:
{
}: {
programs.ghostty = {
enable = true;
package = lib.mkIf (hostname == "eva-02") null;
@@ -11,7 +10,7 @@
settings = {
# Use explicit theme instead of relying on system theme detection
theme = "Adwaita Dark";
# Explicitly set color scheme preference to avoid GTK warnings
gtk-adwaita = true;
+12 -9
View File
@@ -1,16 +1,19 @@
{ config, configPath, hostname, ... }:
{
config,
configPath,
hostname,
...
}: {
wayland.windowManager.hyprland = {
enable = true;
settings = {
# === Monitor configuration ===
monitor =
if hostname == "eva-01" then
"eDP-1, 2560x1440@60.03300, 0x0, 1.25"
else if hostname == "eva-03" then
", preferred, auto, 1" # Auto-detect for desktop
else
", preferred, auto, 1";
monitor =
if hostname == "eva-01"
then "eDP-1, 2560x1440@60.03300, 0x0, 1.25"
else if hostname == "eva-03"
then ", preferred, auto, 1" # Auto-detect for desktop
else ", preferred, auto, 1";
# === Autostart / Exec commands ===
exec-once = [
@@ -21,7 +24,7 @@
"eww daemon"
"swww img ${configPath}/assets/ena/wallpaper.png"
"systemctl --user start hyprpolkitagent"
"swaync" # start notification daemon before waybar
"swaync" # start notification daemon before waybar
];
# === Input settings ===
+1 -2
View File
@@ -1,5 +1,4 @@
{ configPath, ... }:
{
{configPath, ...}: {
programs.hyprlock = {
enable = true;
settings = {
+1 -1
View File
@@ -66,4 +66,4 @@
Comment=Default Cursor Theme
Inherits=Bibata-Modern-Classic
'';
}
}
File diff suppressed because it is too large Load Diff
+5 -2
View File
@@ -1,5 +1,8 @@
{ pkgs, configPath, ... }:
{
pkgs,
configPath,
...
}: {
programs.wlogout = {
enable = true;
layout = [
@@ -117,4 +120,4 @@
}
'';
};
}
}
+87 -85
View File
@@ -1,7 +1,11 @@
{ pkgs, hostname, hostTypes, lib, ... }:
{
imports =
pkgs,
hostname,
hostTypes,
lib,
...
}: {
imports =
# Desktop programs (exclude servers)
lib.optionals (hostTypes.isLinuxDesktop hostname) [
./ghostty/ghostty.nix
@@ -35,88 +39,86 @@
settings."org/gnome/desktop/interface".color-scheme = "prefer-dark";
};
home.packages =
# Desktop packages (Linux desktops)
lib.optionals (hostTypes.isLinuxDesktop hostname) (with pkgs; [
brightnessctl
bambu-studio
blender
brave
desmume
gparted
jellyfin-media-player
kdePackages.bluedevil
kdePackages.bluez-qt
kdePackages.kate
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
kdePackages.isoimagewriter
libreoffice-still
librewolf
localsend
lutris-unwrapped
meld
melonDS
moonlight-qt
nestopia-ue
nix-ld
obsidian
pandoc
prismlauncher
protonplus
protonup-qt
putty
pwninit
pwntools
qFlipper
r2modman
remmina
signal-desktop
spice
steam
steamcmd
swww
tor-browser
vesktop
vlc
wireshark
yubikey-agent
swaynotificationcenter
# Hyprland Stuff
hypridle
hyprpolkitagent
pyprland
#uwsm
hyprlang
hyprshot
hyprcursor
mesa
nwg-displays
nwg-look
waypaper
waybar
# waybar-weatherf
hyprland-qt-support
# rpi-imager
])
# Host-specific packages
++ lib.optionals (hostname == "eva-01") (with pkgs; [
calibre
sdrangel
sdrpp
sonic-visualiser
vscode
])
++ lib.optionals (hostname == "eva-03") (with pkgs; [
pavucontrol
streamcontroller
openrazer-daemon
polychromatic
# vscode
]);
home.packages =
# Desktop packages (Linux desktops)
lib.optionals (hostTypes.isLinuxDesktop hostname) (with pkgs; [
brightnessctl
bambu-studio
blender
brave
desmume
gparted
jellyfin-media-player
kdePackages.bluedevil
kdePackages.bluez-qt
kdePackages.kate
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
kdePackages.isoimagewriter
libreoffice-still
librewolf
localsend
lutris-unwrapped
meld
melonDS
moonlight-qt
nestopia-ue
nix-ld
obsidian
pandoc
prismlauncher
protonplus
protonup-qt
putty
pwninit
pwntools
qFlipper
r2modman
remmina
signal-desktop
spice
steam
steamcmd
swww
tor-browser
vesktop
vlc
wireshark
yubikey-agent
swaynotificationcenter
# Hyprland Stuff
hypridle
hyprpolkitagent
pyprland
#uwsm
hyprlang
hyprshot
hyprcursor
mesa
nwg-displays
nwg-look
waypaper
waybar
# waybar-weatherf
hyprland-qt-support
# rpi-imager
])
# Host-specific packages
++ lib.optionals (hostname == "eva-01") (with pkgs; [
calibre
sdrangel
sdrpp
sonic-visualiser
vscode
])
++ lib.optionals (hostname == "eva-03") (with pkgs; [
pavucontrol
streamcontroller
openrazer-daemon
polychromatic
# vscode
]);
services.swaync = lib.mkIf (hostTypes.isLinuxDesktop hostname) {
enable = true;
+240 -244
View File
@@ -3,14 +3,12 @@
pkgs,
configPath,
...
}:
{
}: {
programs.rofi = {
enable = true;
terminal = "ghostty";
package = pkgs.rofi.override {
plugins = [ pkgs.rofi-emoji ];
plugins = [pkgs.rofi-emoji];
};
font = "JetBrainsMono Nerd Font 12";
plugins = [
@@ -32,247 +30,245 @@
window-format = "{w} · {c} · {t}";
dpi = 1;
};
theme =
let
inherit (config.lib.formats.rasi) mkLiteral;
in
{
"*" = {
active-background = mkLiteral "#101C2F";
active-foreground = mkLiteral "#D6CBD5";
normal-background = mkLiteral "#030508";
normal-foreground = mkLiteral "#D6CBD5";
urgent-background = mkLiteral "#2B7F48";
urgent-foreground = mkLiteral "#D6CBD5";
alternate-active-background = mkLiteral "#11606B";
alternate-active-foreground = mkLiteral "#D6CBD5";
alternate-normal-background = mkLiteral "#030508";
alternate-normal-foreground = mkLiteral "#D6CBD5";
alternate-urgent-background = mkLiteral "#030508";
alternate-urgent-foreground = mkLiteral "#D6CBD5";
selected-active-background = mkLiteral "#101C2F";
selected-active-foreground = mkLiteral "#D6CBD5";
selected-normal-background = mkLiteral "#BCADBB";
selected-normal-foreground = mkLiteral "#D6CBD5";
selected-urgent-background = mkLiteral "#2B7F48";
selected-urgent-foreground = mkLiteral "#D6CBD5";
background-color = mkLiteral "#030508";
background = mkLiteral "rgba(32,32,32,0.7)";
foreground = mkLiteral "#BCADBB";
border-color = mkLiteral "#101C2F";
theme = let
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
active-background = mkLiteral "#101C2F";
active-foreground = mkLiteral "#D6CBD5";
normal-background = mkLiteral "#030508";
normal-foreground = mkLiteral "#D6CBD5";
urgent-background = mkLiteral "#2B7F48";
urgent-foreground = mkLiteral "#D6CBD5";
alternate-active-background = mkLiteral "#11606B";
alternate-active-foreground = mkLiteral "#D6CBD5";
alternate-normal-background = mkLiteral "#030508";
alternate-normal-foreground = mkLiteral "#D6CBD5";
alternate-urgent-background = mkLiteral "#030508";
alternate-urgent-foreground = mkLiteral "#D6CBD5";
selected-active-background = mkLiteral "#101C2F";
selected-active-foreground = mkLiteral "#D6CBD5";
selected-normal-background = mkLiteral "#BCADBB";
selected-normal-foreground = mkLiteral "#D6CBD5";
selected-urgent-background = mkLiteral "#2B7F48";
selected-urgent-foreground = mkLiteral "#D6CBD5";
background-color = mkLiteral "#030508";
background = mkLiteral "rgba(32,32,32,0.7)";
foreground = mkLiteral "#BCADBB";
border-color = mkLiteral "#101C2F";
background-alt = mkLiteral "@selected-active-background";
selected = mkLiteral "@selected-urgent-background";
active = mkLiteral "@selected-normal-background";
urgent = mkLiteral "@selected";
text-selected = mkLiteral "@background";
text-color = mkLiteral "@foreground";
};
"window" = {
enabled = true;
fullscreen = false;
transparency = mkLiteral "\"real\"";
cursor = mkLiteral "\"default\"";
spacing = 0;
border = mkLiteral "4px 0px 4px 0px";
border-radius = 30;
location = mkLiteral "center";
anchor = mkLiteral "center";
width = mkLiteral "50%";
background-color = mkLiteral "@background";
};
"mainbox" = {
padding = 15;
enabled = true;
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"listbox"
];
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
padding = mkLiteral "10px 10px 100px 10px";
margin = 10;
background-color = mkLiteral "transparent";
border-radius = 25;
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"entry"
"dummy"
"mode-switcher"
];
background-image = mkLiteral "url(\"${configPath}/assets/background.png\", width)";
};
"entry" = {
enabled = true;
expand = false;
width = mkLiteral "20%";
padding = 10;
border-radius = 12;
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
cursor = mkLiteral "text";
placeholder = mkLiteral "\"🖥 Search \"";
placeholder-color = mkLiteral "inherit";
};
"listbox" = {
spacing = 10;
padding = 10;
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"listview" = {
enabled = true;
columns = 2;
lines = 6;
cycle = true;
dynamic = true;
scrollbar = true;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = false;
fixed-columns = true;
spacing = 10;
background-color = mkLiteral "transparent";
border = 0;
};
"dummy" = {
expand = true;
background-color = mkLiteral "transparent";
};
"mode-switcher" = {
enabled = true;
spacing = 10;
background-color = mkLiteral "transparent";
};
"button" = {
width = mkLiteral "5%";
padding = 12;
border-radius = 12;
background-color = mkLiteral "@text-selected";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
};
"scrollbar" = {
width = 4;
border = 0;
handle-color = mkLiteral "@border-color";
handle-width = 8;
padding = 0;
};
"element" = {
enabled = true;
spacing = 10;
padding = 10;
border-radius = 12;
background-color = mkLiteral "transparent";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@active";
text-color = mkLiteral "@foreground";
};
"element selected.normal" = {
border = mkLiteral "1px 6px 1px 6px";
border-radius = 16;
border-color = mkLiteral "@selected";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@selected";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element alternate.normal" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.urgent" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.active" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
border = 0;
};
"textbox" = {
padding = 12;
border-radius = 10;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = 12;
border-radius = 20;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
};
background-alt = mkLiteral "@selected-active-background";
selected = mkLiteral "@selected-urgent-background";
active = mkLiteral "@selected-normal-background";
urgent = mkLiteral "@selected";
text-selected = mkLiteral "@background";
text-color = mkLiteral "@foreground";
};
"window" = {
enabled = true;
fullscreen = false;
transparency = mkLiteral "\"real\"";
cursor = mkLiteral "\"default\"";
spacing = 0;
border = mkLiteral "4px 0px 4px 0px";
border-radius = 30;
location = mkLiteral "center";
anchor = mkLiteral "center";
width = mkLiteral "50%";
background-color = mkLiteral "@background";
};
"mainbox" = {
padding = 15;
enabled = true;
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"listbox"
];
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
padding = mkLiteral "10px 10px 100px 10px";
margin = 10;
background-color = mkLiteral "transparent";
border-radius = 25;
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"entry"
"dummy"
"mode-switcher"
];
background-image = mkLiteral "url(\"${configPath}/assets/background.png\", width)";
};
"entry" = {
enabled = true;
expand = false;
width = mkLiteral "20%";
padding = 10;
border-radius = 12;
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
cursor = mkLiteral "text";
placeholder = mkLiteral "\"🖥 Search \"";
placeholder-color = mkLiteral "inherit";
};
"listbox" = {
spacing = 10;
padding = 10;
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"listview" = {
enabled = true;
columns = 2;
lines = 6;
cycle = true;
dynamic = true;
scrollbar = true;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = false;
fixed-columns = true;
spacing = 10;
background-color = mkLiteral "transparent";
border = 0;
};
"dummy" = {
expand = true;
background-color = mkLiteral "transparent";
};
"mode-switcher" = {
enabled = true;
spacing = 10;
background-color = mkLiteral "transparent";
};
"button" = {
width = mkLiteral "5%";
padding = 12;
border-radius = 12;
background-color = mkLiteral "@text-selected";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
};
"scrollbar" = {
width = 4;
border = 0;
handle-color = mkLiteral "@border-color";
handle-width = 8;
padding = 0;
};
"element" = {
enabled = true;
spacing = 10;
padding = 10;
border-radius = 12;
background-color = mkLiteral "transparent";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@active";
text-color = mkLiteral "@foreground";
};
"element selected.normal" = {
border = mkLiteral "1px 6px 1px 6px";
border-radius = 16;
border-color = mkLiteral "@selected";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@selected";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element alternate.normal" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.urgent" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.active" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
border = 0;
};
"textbox" = {
padding = 12;
border-radius = 10;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = 12;
border-radius = 20;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
};
};
};
}
+18 -22
View File
@@ -1,7 +1,6 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
@@ -12,19 +11,17 @@
hostTypes,
lib,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
# (modulesPath + "/profiles/qemu-guest.nix")
];
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
# (modulesPath + "/profiles/qemu-guest.nix")
];
# Bootloader.
boot.loader.grub.enable = lib.mkDefault true;
boot.loader.grub.devices = [ "nodev" ];
boot.loader.grub.devices = ["nodev"];
nix.settings.experimental-features = ["nix-command" "flakes"];
@@ -93,17 +90,17 @@
services.printing.enable = false;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
#apps
#cli
# thunderbird
# thunderbird
];
};
@@ -113,24 +110,24 @@
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PasswordAuthentication = true;
AllowUsers = [ "rogueking"];
AllowUsers = ["rogueking"];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = 8;
MaxAuthTries = 8;
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
nixpkgs.config.permittedInsecurePackages = [
"qtwebengine-5.15.19"
"python3.12-ecdsa-0.19.1"
"qtwebengine-5.15.19"
"python3.12-ecdsa-0.19.1"
];
# List packages installed in system profile. To search, run:
@@ -156,5 +153,4 @@
};
system.stateVersion = "25.11";
}
+9 -11
View File
@@ -8,9 +8,7 @@
hostTypes,
lib,
...
}:
{
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
@@ -19,7 +17,7 @@
# Bootloader.
boot.loader.grub.enable = lib.mkDefault true;
boot.loader.grub.devices = [ "nodev" ];
boot.loader.grub.devices = ["nodev"];
nix.settings.experimental-features = ["nix-command" "flakes"];
@@ -73,7 +71,7 @@
services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.xfce.enable = true;
# Alternatively, for even lighter weight, use a window manager directly:
# services.xserver.windowManager.i3.enable = true;
# services.xserver.displayManager.lightdm.enable = true;
@@ -98,7 +96,7 @@
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = ["networkmanager" "wheel"];
shell = pkgs.zsh;
packages = with pkgs; [];
};
@@ -112,10 +110,10 @@
# Enable OpenSSH daemon for remote access
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PasswordAuthentication = true;
AllowUsers = [ "rogueking" ];
AllowUsers = ["rogueking"];
UseDns = true;
X11Forwarding = true; # Enable X11 forwarding for jumpbox
PermitRootLogin = "no";
@@ -130,7 +128,7 @@
# Minimal firewall configuration
networking.firewall = {
enable = true;
allowedTCPPorts = [ 22 ];
allowedTCPPorts = [22];
logRefusedConnections = true;
};
@@ -145,7 +143,7 @@
putty
vim
wget
# GUI tools
firefox
xfce.terminal
@@ -175,4 +173,4 @@
};
system.stateVersion = "25.11";
}
}
+21 -15
View File
@@ -1,31 +1,37 @@
# Do not modify this file! It was generated by 'nixos-generate-config'
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "virtio_pci" "virtio_scsi" "ahci" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["virtio_pci" "virtio_scsi" "ahci" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/ROOT-UUID-HERE"; # Update with actual UUID
fsType = "ext4";
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 2*1024; # 2GB swap for lightweight VM
} ];
swapDevices = [
{
device = "/var/lib/swapfile";
size = 2 * 1024; # 2GB swap for lightweight VM
}
];
# Enables DHCP on each ethernet and wireless interface.
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+19 -21
View File
@@ -8,18 +8,16 @@
hostTypes,
lib,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
# Bootloader.
boot.loader.grub.enable = lib.mkDefault true;
boot.loader.grub.devices = [ "nodev" ];
boot.loader.grub.devices = ["nodev"];
nix.settings.experimental-features = ["nix-command" "flakes"];
@@ -93,7 +91,7 @@
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# VSCode-Server
programs.nix-ld.enable = true;
@@ -107,11 +105,11 @@
];
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
packages = with pkgs; [];
};
@@ -119,7 +117,7 @@
users.users.cris = {
isNormalUser = true;
description = "cris";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
packages = with pkgs; [];
};
@@ -133,33 +131,33 @@
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
polkitPolicyOwners = [ "rogueking" ];
polkitPolicyOwners = ["rogueking"];
};
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PasswordAuthentication = true;
AllowUsers = [ "rogueking" "cris"];
AllowUsers = ["rogueking" "cris"];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = 8;
MaxAuthTries = 8;
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
users.users."cris".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIlF9KmjGDL1/KX2YDAZe4E5rd0qMtrirEbFnE3CKmS+"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIlF9KmjGDL1/KX2YDAZe4E5rd0qMtrirEbFnE3CKmS+"
];
nixpkgs.config.permittedInsecurePackages = [
"qtwebengine-5.15.19"
"qtwebengine-5.15.19"
"python3.12-ecdsa-0.19.1"
];
+23 -17
View File
@@ -1,27 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2387c615-e566-44ed-a708-ebd407ee16f6";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/2387c615-e566-44ed-a708-ebd407ee16f6";
fsType = "ext4";
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 4*1024;
} ];
swapDevices = [
{
device = "/var/lib/swapfile";
size = 4 * 1024;
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
+30 -33
View File
@@ -8,14 +8,12 @@
hostTypes,
lib,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
#Kernel
# boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen;
@@ -23,7 +21,7 @@
# Bootloader.
boot.loader.grub.enable = lib.mkDefault true;
boot.loader.grub.devices = [ "nodev" ];
boot.loader.grub.devices = ["nodev"];
nix.settings.experimental-features = ["nix-command" "flakes"];
@@ -63,9 +61,8 @@
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
@@ -81,8 +78,8 @@
};
nix.settings = {
substituters = [ "https://cache.nixos-cuda.org" ];
trusted-public-keys = [ "cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M=" ];
substituters = ["https://cache.nixos-cuda.org"];
trusted-public-keys = ["cache.nixos-cuda.org:74DUi4Ye579gUqzH4ziL9IyiJBlDpMRn9MBN8oNan9M="];
};
# Set your time zone.
@@ -126,7 +123,7 @@
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# VSCode-Server
programs.nix-ld.enable = true;
@@ -147,7 +144,7 @@
acceleration = "cuda";
package = pkgs-unstable.ollama-cuda;
environmentVariables = {
CUDA_VISIBLE_DEVICES = "0,1";
CUDA_VISIBLE_DEVICES = "0,1";
};
};
@@ -166,22 +163,22 @@
# Enable llama-cpp server
services.llama-cpp = {
enable = true;
package = (pkgs-unstable.llama-cpp.override { cudaSupport = true; });
model = "/home/rogueking/models";
host = "0.0.0.0";
port = 8080;
extraFlags = [
"n-gpu-layers 99"
];
enable = true;
package = pkgs-unstable.llama-cpp.override {cudaSupport = true;};
model = "/home/rogueking/models";
host = "0.0.0.0";
port = 8080;
extraFlags = [
"n-gpu-layers 99"
];
};
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
packages = with pkgs; [];
};
@@ -196,29 +193,29 @@
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
polkitPolicyOwners = [ "rogueking" ];
polkitPolicyOwners = ["rogueking"];
};
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PasswordAuthentication = true;
AllowUsers = [ "rogueking"];
AllowUsers = ["rogueking"];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = 12;
MaxAuthTries = 12;
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
nixpkgs.config.permittedInsecurePackages = [
"qtwebengine-5.15.19"
"qtwebengine-5.15.19"
"python3.12-ecdsa-0.19.1"
];
@@ -226,7 +223,7 @@
# $ nix search wget
environment.systemPackages = with pkgs; [
# System-level only — CLI tools moved to home-manager
btop-cuda # cuda variant must stay system-level with nvidia drivers
btop-cuda # cuda variant must stay system-level with nvidia drivers
];
home-manager = {
+23 -17
View File
@@ -1,27 +1,33 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/bf8d1e67-f9c0-47ef-a635-2aeef68246a6";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/bf8d1e67-f9c0-47ef-a635-2aeef68246a6";
fsType = "ext4";
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 4*1024;
} ];
swapDevices = [
{
device = "/var/lib/swapfile";
size = 4 * 1024;
}
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}
+9 -12
View File
@@ -7,9 +7,7 @@
hostname,
hostTypes,
...
}:
{
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
@@ -133,7 +131,7 @@
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
extraPortals = [pkgs.xdg-desktop-portal-gtk];
};
services.tailscale.enable = true;
@@ -192,7 +190,7 @@
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
@@ -210,12 +208,12 @@
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "rogueking" ];
polkitPolicyOwners = ["rogueking"];
};
# 1Password SSH agent systemd socket
systemd.user.sockets."1password" = {
wantedBy = [ "sockets.target" ];
wantedBy = ["sockets.target"];
socketConfig = {
ListenStream = "%t/1password/agent.sock";
SocketMode = "0600";
@@ -224,8 +222,8 @@
systemd.user.services."1password" = {
description = "1Password SSH Agent";
requires = [ "1password.socket" ];
after = [ "graphical-session.target" ];
requires = ["1password.socket"];
after = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${pkgs._1password-gui}/bin/1password --silent";
Restart = "on-failure";
@@ -239,10 +237,10 @@
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PasswordAuthentication = false;
AllowUsers = [ "rogueking" ];
AllowUsers = ["rogueking"];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
@@ -294,5 +292,4 @@
};
system.stateVersion = "25.11"; # Did you read the comment?
}
+28 -22
View File
@@ -1,33 +1,39 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/2066-E44D";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/2066-E44D";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 8*1024;
} ];
swapDevices = [
{
device = "/var/lib/swapfile";
size = 8 * 1024;
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
+16 -16
View File
@@ -8,9 +8,7 @@
hostTypes,
lib,
...
}:
{
}: {
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nix optimizations
@@ -18,11 +16,13 @@
# nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
interval = [{
Hour = 2;
Minute = 30;
Weekday = 7;
}];
interval = [
{
Hour = 2;
Minute = 30;
Weekday = 7;
}
];
# persistent = true;
options = "--delete-older-than 30d";
};
@@ -38,13 +38,13 @@
# enable = true;
# package = pkgs.pulseaudioFull;
#};
# Enable Touch ID
security.pam.services.sudo_local.touchIdAuth = true;
# Define a user account. Don't forget to set a password with passwd.
system.primaryUser = "rogueking";
programs.zsh.enable = true;
programs.zsh.enable = true;
users.users.rogueking = {
# isNormalUser = true;
description = "rogueking";
@@ -104,23 +104,23 @@
# # ports = [ 22 ];
# settings = {
# PasswordAuthentication = true;
# AllowUsers = [ "rogueking" ];
# AllowUsers = [ "rogueking" ];
# UseDns = true;
# X11Forwarding = false;
# PermitRootLogin = "no";
# MaxAuthTries = 8;
# MaxAuthTries = 8;
# };
# };
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cli tools
btop
curl
@@ -139,7 +139,7 @@
ptunnel
unzip
vim
pkgs-unstable.vscode
pkgs-unstable.vscode
];
fonts.packages = with pkgs; [
@@ -163,5 +163,5 @@
backupFileExtension = "backup";
};
system.stateVersion = 6;
system.stateVersion = 6;
}
+41 -45
View File
@@ -1,37 +1,35 @@
{
config,
{
config,
configPath,
hostname,
hostname,
hostTypes,
inputs,
pkgs,
inputs,
pkgs,
pkgs-unstable,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
#Kernel
boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen;
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
#{
# enable = true;
# windows = {
# "11-Pro" = {
# title = "Windows 11 Pro";
# efiDeviceHandle = "HD3c";
# sortKey = "z_windows";
# };
# };
# };
boot.loader.systemd-boot.enable = true;
#{
# enable = true;
# windows = {
# "11-Pro" = {
# title = "Windows 11 Pro";
# efiDeviceHandle = "HD3c";
# sortKey = "z_windows";
# };
# };
# };
nix.settings.experimental-features = ["nix-command" "flakes"];
@@ -49,7 +47,7 @@
persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "eva-03"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
@@ -86,7 +84,6 @@
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
@@ -163,7 +160,7 @@
acceleration = "cuda";
package = pkgs-unstable.ollama-cuda;
# environmentVariables = {
# CUDA_VISIBLE_DEVICES = "0,1";
# CUDA_VISIBLE_DEVICES = "0,1";
# };
};
@@ -179,7 +176,7 @@
# If dataDir is on a separate mount (NFS, ZFS dataset, etc.):
# requiresMounts = [ "home-myuser-comfyui\\x2ddata.mount" ];
};
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
@@ -219,11 +216,11 @@
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
packages = with pkgs; [
];
@@ -242,12 +239,12 @@
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
polkitPolicyOwners = [ "rogueking" ];
polkitPolicyOwners = ["rogueking"];
};
# 1Password SSH agent systemd socket
systemd.user.sockets."1password" = {
wantedBy = [ "sockets.target" ];
wantedBy = ["sockets.target"];
socketConfig = {
ListenStream = "%t/1password/agent.sock";
SocketMode = "0600";
@@ -256,8 +253,8 @@
systemd.user.services."1password" = {
description = "1Password SSH Agent";
requires = [ "1password.socket" ];
after = [ "graphical-session.target" ];
requires = ["1password.socket"];
after = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${pkgs._1password-gui}/bin/1password --silent";
Restart = "on-failure";
@@ -267,23 +264,23 @@
#steam
programs.steam.enable = true;
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
ports = [22];
settings = {
PasswordAuthentication = false;
AllowUsers = [ "rogueking" ];
AllowUsers = ["rogueking"];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = "20";
MaxAuthTries = "20";
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
@@ -302,15 +299,15 @@
];
home-manager = {
extraSpecialArgs = {
inherit
extraSpecialArgs = {
inherit
configPath
inputs
inputs
pkgs-unstable
hostname
hostTypes
;
host = hostname;
host = hostname;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
@@ -319,5 +316,4 @@
};
system.stateVersion = "25.11";
}
+25 -21
View File
@@ -1,32 +1,36 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c8250302-044c-4be5-89b8-a07706a8dedf";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/c8250302-044c-4be5-89b8-a07706a8dedf";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E81D-0813";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/E81D-0813";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/d8666f92-b7cf-40fb-b305-d16a84d79fa0"; }
];
swapDevices = [
{device = "/dev/disk/by-uuid/d8666f92-b7cf-40fb-b305-d16a84d79fa0";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's