Remove Vicinae input and virtualization module
Add pnpm and lazydocker to system packages and normalize Node/Bun entries. Expand filesystem options into multi-line arrays, remove an extra groups comment, update flake.lock (noctalia ref), and tidy README newline/formatting.
This commit is contained in:
@@ -116,7 +116,6 @@ services.example = {
|
|||||||
| `nixpkgs` | NixOS unstable channel |
|
| `nixpkgs` | NixOS unstable channel |
|
||||||
| `nix-cachyos-kernel` | CachyOS optimized kernel |
|
| `nix-cachyos-kernel` | CachyOS optimized kernel |
|
||||||
| `noctalia` | Desktop shell |
|
| `noctalia` | Desktop shell |
|
||||||
| `vicinae` | Application launcher |
|
|
||||||
|
|
||||||
## Common Patterns
|
## Common Patterns
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ Shell aliases are defined in `modules/shell.nix`: `rebuild`, `rebuild-test`, `re
|
|||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
**Entry Points:**
|
**Entry Points:**
|
||||||
- `flake.nix` - Flake definition with inputs (nixpkgs unstable, nix-cachyos-kernel, noctalia shell, vicinae launcher)
|
- `flake.nix` - Flake definition with inputs (nixpkgs unstable, nix-cachyos-kernel, noctalia shell)
|
||||||
- `configuration.nix` - Main config that imports all modules, defines boot, networking, user, and nix settings
|
- `configuration.nix` - Main config that imports all modules, defines boot, networking, user, and nix settings
|
||||||
- `hardware-configuration.nix` - Auto-generated by `nixos-generate-config` (do not edit manually)
|
- `hardware-configuration.nix` - Auto-generated by `nixos-generate-config` (do not edit manually)
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ nixos/
|
|||||||
| `nixpkgs` | NixOS unstable channel |
|
| `nixpkgs` | NixOS unstable channel |
|
||||||
| `nix-cachyos-kernel` | CachyOS optimized kernel with x86_64-v3 |
|
| `nix-cachyos-kernel` | CachyOS optimized kernel with x86_64-v3 |
|
||||||
| `noctalia` | Noctalia desktop shell |
|
| `noctalia` | Noctalia desktop shell |
|
||||||
| `vicinae` | Vicinae application launcher |
|
|
||||||
| `zen-browser` | Zen Browser (Firefox-based) |
|
| `zen-browser` | Zen Browser (Firefox-based) |
|
||||||
| `opencode` | OpenCode AI coding assistant |
|
| `opencode` | OpenCode AI coding assistant |
|
||||||
|
|
||||||
@@ -138,9 +137,7 @@ nix-store --optimise
|
|||||||
## 🖥️ Desktop Environment
|
## 🖥️ Desktop Environment
|
||||||
|
|
||||||
- **Compositor**: Niri (scrollable tiling Wayland compositor)
|
- **Compositor**: Niri (scrollable tiling Wayland compositor)
|
||||||
- **Shell**: Noctalia (desktop shell for Niri)
|
- **Display Manager**: Ly
|
||||||
- **Display Manager**: Ly (TUI display manager)
|
|
||||||
- **Launcher**: Vicinae (application launcher)
|
|
||||||
- **Terminal**: Ghostty
|
- **Terminal**: Ghostty
|
||||||
- **Browser**: Zen Browser (primary), Firefox
|
- **Browser**: Zen Browser (primary), Firefox
|
||||||
- **File Manager**: Nautilus (GNOME Files)
|
- **File Manager**: Nautilus (GNOME Files)
|
||||||
@@ -282,4 +279,4 @@ Common aliases configured in `shell.nix`:
|
|||||||
|
|
||||||
## 📄 License
|
## 📄 License
|
||||||
|
|
||||||
This configuration is provided as-is for personal use and reference.
|
This configuration is provided as-is for personal use and reference.
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
./modules/apps.nix # User applications
|
./modules/apps.nix # User applications
|
||||||
./modules/dev.nix # Docker, dev tools
|
./modules/dev.nix # Docker, dev tools
|
||||||
./modules/theming.nix # Fonts, themes, cursors
|
./modules/theming.nix # Fonts, themes, cursors
|
||||||
# ./modules/virtualization.nix # QEMU, KVM, virt-manager
|
|
||||||
./modules/power.nix # Power management, CPU governors
|
./modules/power.nix # Power management, CPU governors
|
||||||
./modules/shell.nix # Fish shell configuration
|
./modules/shell.nix # Fish shell configuration
|
||||||
./modules/services.nix # System services (fstrim, zram, avahi, psd)
|
./modules/services.nix # System services (fstrim, zram, avahi, psd)
|
||||||
@@ -35,19 +34,31 @@
|
|||||||
fileSystems."/mnt/Intenso-SSD" = {
|
fileSystems."/mnt/Intenso-SSD" = {
|
||||||
device = "/dev/disk/by-uuid/51c56376-8384-4762-a8e9-8151fe91173b";
|
device = "/dev/disk/by-uuid/51c56376-8384-4762-a8e9-8151fe91173b";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
options = [ "defaults" "nofail" "x-gvfs-show" ];
|
options = [
|
||||||
|
"defaults"
|
||||||
|
"nofail"
|
||||||
|
"x-gvfs-show"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/Samsung-SSD" = {
|
fileSystems."/mnt/Samsung-SSD" = {
|
||||||
device = "/dev/disk/by-uuid/343ea612-9305-4fb6-9d4c-7a7ca8b0e72c";
|
device = "/dev/disk/by-uuid/343ea612-9305-4fb6-9d4c-7a7ca8b0e72c";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
options = [ "defaults" "nofail" "x-gvfs-show" ];
|
options = [
|
||||||
|
"defaults"
|
||||||
|
"nofail"
|
||||||
|
"x-gvfs-show"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/mnt/Extern-SSD" = {
|
fileSystems."/mnt/Extern-SSD" = {
|
||||||
device = "/dev/disk/by-uuid/4e233c88-e91b-480c-b795-6fffc1fbdc69";
|
device = "/dev/disk/by-uuid/4e233c88-e91b-480c-b795-6fffc1fbdc69";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
options = [ "defaults" "nofail" "x-gvfs-show" ];
|
options = [
|
||||||
|
"defaults"
|
||||||
|
"nofail"
|
||||||
|
"x-gvfs-show"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════
|
||||||
@@ -161,10 +172,6 @@
|
|||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel" # Sudo access
|
"wheel" # Sudo access
|
||||||
"networkmanager" # Network configuration
|
"networkmanager" # Network configuration
|
||||||
# Additional groups are added by modules:
|
|
||||||
# - docker (dev.nix)
|
|
||||||
# - gamemode (gaming.nix)
|
|
||||||
# - corectrl (gpu-amd.nix)
|
|
||||||
];
|
];
|
||||||
shell = pkgs.fish; # Fish shell (migrated from Arch)
|
shell = pkgs.fish; # Fish shell (migrated from Arch)
|
||||||
};
|
};
|
||||||
@@ -246,9 +253,6 @@
|
|||||||
|
|
||||||
# AI coding
|
# AI coding
|
||||||
claude-code
|
claude-code
|
||||||
|
|
||||||
# Package managers
|
|
||||||
pnpm
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
|||||||
57
flake.lock
generated
57
flake.lock
generated
@@ -136,22 +136,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762111121,
|
|
||||||
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"noctalia": {
|
"noctalia": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -159,11 +143,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770149488,
|
"lastModified": 1770150024,
|
||||||
"narHash": "sha256-8TFJGH6PTY453TudyPeWSmwCQsy6hT8W+2CLMMMFx5M=",
|
"narHash": "sha256-sX7I5MJYDVJePQluHr+fL7iG38orZYYYyBCye/xLN1c=",
|
||||||
"owner": "noctalia-dev",
|
"owner": "noctalia-dev",
|
||||||
"repo": "noctalia-shell",
|
"repo": "noctalia-shell",
|
||||||
"rev": "9fe299309e12652ec02c3452fbec4f89c8341029",
|
"rev": "505d6343e078f9a0288bbf16a78d5d7fd72aeeba",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -198,44 +182,9 @@
|
|||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"noctalia": "noctalia",
|
"noctalia": "noctalia",
|
||||||
"opencode": "opencode",
|
"opencode": "opencode",
|
||||||
"vicinae": "vicinae",
|
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vicinae": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770143778,
|
|
||||||
"narHash": "sha256-OA7JKbTQZwtVwjq+DDefRR8rLq3Q4jgHqomsjoiA228=",
|
|
||||||
"owner": "vicinaehq",
|
|
||||||
"repo": "vicinae",
|
|
||||||
"rev": "021532d64503f45052ed782f1be116018ed0c4b1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "vicinaehq",
|
|
||||||
"repo": "vicinae",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zen-browser": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|||||||
@@ -13,11 +13,6 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Application launcher
|
|
||||||
vicinae = {
|
|
||||||
url = "github:vicinaehq/vicinae";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Kernel
|
# Kernel
|
||||||
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
||||||
|
|
||||||
@@ -37,12 +32,10 @@
|
|||||||
# Binary caches for faster builds
|
# Binary caches for faster builds
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
extra-substituters = [
|
extra-substituters = [
|
||||||
"https://vicinae.cachix.org"
|
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://attic.xuyh0120.win/lantian"
|
"https://attic.xuyh0120.win/lantian"
|
||||||
];
|
];
|
||||||
extra-trusted-public-keys = [
|
extra-trusted-public-keys = [
|
||||||
"vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -44,9 +44,6 @@
|
|||||||
# DESKTOP PACKAGES
|
# DESKTOP PACKAGES
|
||||||
# ═══════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Vicinae launcher
|
|
||||||
inputs.vicinae.packages.${pkgs.system}.default
|
|
||||||
|
|
||||||
# Polkit agent
|
# Polkit agent
|
||||||
polkit_gnome
|
polkit_gnome
|
||||||
|
|
||||||
|
|||||||
@@ -38,16 +38,17 @@
|
|||||||
# ═══════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# DEVELOPMENT PACKAGES
|
# DEVELOPMENT PACKAGES
|
||||||
# ═══════════════════════════════════════════════════════════════
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# NOTE: GUI tools (dbeaver) and optional TUIs (lazygit, lazydocker) are in `nix profile`
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# ─── Containers ───
|
# ─── Containers ───
|
||||||
docker-compose # Docker Compose v2
|
docker-compose # Docker Compose v2
|
||||||
|
lazydocker
|
||||||
|
|
||||||
# ─── Languages & Runtimes ───
|
# ─── Languages & Runtimes ───
|
||||||
nodejs_22 # Node.js LTS (for Vicinae extensions, etc.)
|
bun
|
||||||
bun # Fast JavaScript runtime/bundler
|
pnpm
|
||||||
python3 # Python 3
|
nodejs
|
||||||
rustup # Rust toolchain manager
|
python3
|
||||||
|
rustup
|
||||||
|
|
||||||
# ─── Build Tools ───
|
# ─── Build Tools ───
|
||||||
gcc
|
gcc
|
||||||
@@ -57,13 +58,13 @@
|
|||||||
|
|
||||||
# ─── Version Control ───
|
# ─── Version Control ───
|
||||||
git
|
git
|
||||||
gh # GitHub CLI
|
gh
|
||||||
delta # Better git diff
|
delta
|
||||||
lazygit # Git UI
|
lazygit
|
||||||
|
|
||||||
# ─── Editors & LSP ───
|
# ─── Editors & LSP ───
|
||||||
# nil already in base config (Nix LSP)
|
nil
|
||||||
nixfmt # Nix formatter
|
nixfmt
|
||||||
|
|
||||||
# ─── CLI Utilities ───
|
# ─── CLI Utilities ───
|
||||||
jq # JSON processor
|
jq # JSON processor
|
||||||
@@ -73,7 +74,7 @@
|
|||||||
fzf # Fuzzy finder
|
fzf # Fuzzy finder
|
||||||
eza # Modern ls
|
eza # Modern ls
|
||||||
bat # Cat with syntax highlighting
|
bat # Cat with syntax highlighting
|
||||||
broot
|
broot # TUI Folder Tree
|
||||||
|
|
||||||
# Additional CLI tools
|
# Additional CLI tools
|
||||||
tealdeer # tldr - simplified man pages
|
tealdeer # tldr - simplified man pages
|
||||||
@@ -82,7 +83,4 @@
|
|||||||
pv # Pipe viewer (progress bar for pipes)
|
pv # Pipe viewer (progress bar for pipes)
|
||||||
parallel # GNU parallel (run commands in parallel)
|
parallel # GNU parallel (run commands in parallel)
|
||||||
];
|
];
|
||||||
|
|
||||||
# Note: Shell aliases are now managed in shell.nix (Fish shell)
|
|
||||||
# Zsh is kept as a fallback shell but Fish is the primary
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
# modules/virtualization.nix
|
|
||||||
# Virtual machine support: QEMU, KVM, libvirt, virt-manager
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# LIBVIRT & QEMU
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
virtualisation.libvirtd = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# QEMU configuration
|
|
||||||
qemu = {
|
|
||||||
package = pkgs.qemu_kvm;
|
|
||||||
|
|
||||||
# Enable TPM emulation for Windows 11
|
|
||||||
swtpm.enable = true;
|
|
||||||
|
|
||||||
# Run QEMU as non-root for better security
|
|
||||||
runAsRoot = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# SPICE SUPPORT (for better VM display/clipboard/USB)
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
virtualisation.spiceUSBRedirection.enable = true;
|
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# NETWORKING FOR VMS
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# Enable default NAT network (virbr0)
|
|
||||||
networking.firewall.trustedInterfaces = [ "virbr0" ];
|
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# PACKAGES
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
virt-manager # GUI for managing VMs
|
|
||||||
virt-viewer # Viewer for VM displays (SPICE/VNC)
|
|
||||||
virtiofsd # Fast file sharing between host and VM
|
|
||||||
qemu-utils # QEMU utilities (qemu-img, etc.)
|
|
||||||
spice-gtk # SPICE client libraries
|
|
||||||
];
|
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# USER PERMISSIONS
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
users.users.${username}.extraGroups = [ "libvirtd" ];
|
|
||||||
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# DCONF SETTINGS FOR VIRT-MANAGER
|
|
||||||
# ═══════════════════════════════════════════════════════════════
|
|
||||||
# Auto-connect to the system QEMU/KVM
|
|
||||||
programs.virt-manager.enable = true;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user