formated with alejandra
This commit is contained in:
@@ -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
@@ -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,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
|
||||
|
||||
@@ -2,11 +2,8 @@
|
||||
pkgs,
|
||||
hostname,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
nixpkgs.overlays = [
|
||||
(import ./sage.nix)
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@@ -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; [];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,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/";}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
lib,
|
||||
hostname,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
|
||||
@@ -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,5 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.nixvim.plugins = {
|
||||
lsp = {
|
||||
enable = true;
|
||||
|
||||
@@ -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,6 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
tmux = {
|
||||
enable = true;
|
||||
|
||||
@@ -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
@@ -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,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,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;
|
||||
|
||||
|
||||
@@ -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,5 +1,4 @@
|
||||
{ configPath, ... }:
|
||||
{
|
||||
{configPath, ...}: {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -66,4 +66,4 @@
|
||||
Comment=Default Cursor Theme
|
||||
Inherits=Bibata-Modern-Classic
|
||||
'';
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,8 @@
|
||||
{ pkgs, configPath, ... }:
|
||||
{
|
||||
pkgs,
|
||||
configPath,
|
||||
...
|
||||
}: {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
layout = [
|
||||
@@ -117,4 +120,4 @@
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
@@ -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?
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user