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 |
|
||||
| `nix-cachyos-kernel` | CachyOS optimized kernel |
|
||||
| `noctalia` | Desktop shell |
|
||||
| `vicinae` | Application launcher |
|
||||
|
||||
## Common Patterns
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ Shell aliases are defined in `modules/shell.nix`: `rebuild`, `rebuild-test`, `re
|
||||
## Architecture
|
||||
|
||||
**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
|
||||
- `hardware-configuration.nix` - Auto-generated by `nixos-generate-config` (do not edit manually)
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@ nixos/
|
||||
| `nixpkgs` | NixOS unstable channel |
|
||||
| `nix-cachyos-kernel` | CachyOS optimized kernel with x86_64-v3 |
|
||||
| `noctalia` | Noctalia desktop shell |
|
||||
| `vicinae` | Vicinae application launcher |
|
||||
| `zen-browser` | Zen Browser (Firefox-based) |
|
||||
| `opencode` | OpenCode AI coding assistant |
|
||||
|
||||
@@ -138,9 +137,7 @@ nix-store --optimise
|
||||
## 🖥️ Desktop Environment
|
||||
|
||||
- **Compositor**: Niri (scrollable tiling Wayland compositor)
|
||||
- **Shell**: Noctalia (desktop shell for Niri)
|
||||
- **Display Manager**: Ly (TUI display manager)
|
||||
- **Launcher**: Vicinae (application launcher)
|
||||
- **Display Manager**: Ly
|
||||
- **Terminal**: Ghostty
|
||||
- **Browser**: Zen Browser (primary), Firefox
|
||||
- **File Manager**: Nautilus (GNOME Files)
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
./modules/apps.nix # User applications
|
||||
./modules/dev.nix # Docker, dev tools
|
||||
./modules/theming.nix # Fonts, themes, cursors
|
||||
# ./modules/virtualization.nix # QEMU, KVM, virt-manager
|
||||
./modules/power.nix # Power management, CPU governors
|
||||
./modules/shell.nix # Fish shell configuration
|
||||
./modules/services.nix # System services (fstrim, zram, avahi, psd)
|
||||
@@ -35,19 +34,31 @@
|
||||
fileSystems."/mnt/Intenso-SSD" = {
|
||||
device = "/dev/disk/by-uuid/51c56376-8384-4762-a8e9-8151fe91173b";
|
||||
fsType = "ext4";
|
||||
options = [ "defaults" "nofail" "x-gvfs-show" ];
|
||||
options = [
|
||||
"defaults"
|
||||
"nofail"
|
||||
"x-gvfs-show"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Samsung-SSD" = {
|
||||
device = "/dev/disk/by-uuid/343ea612-9305-4fb6-9d4c-7a7ca8b0e72c";
|
||||
fsType = "ext4";
|
||||
options = [ "defaults" "nofail" "x-gvfs-show" ];
|
||||
options = [
|
||||
"defaults"
|
||||
"nofail"
|
||||
"x-gvfs-show"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Extern-SSD" = {
|
||||
device = "/dev/disk/by-uuid/4e233c88-e91b-480c-b795-6fffc1fbdc69";
|
||||
fsType = "ext4";
|
||||
options = [ "defaults" "nofail" "x-gvfs-show" ];
|
||||
options = [
|
||||
"defaults"
|
||||
"nofail"
|
||||
"x-gvfs-show"
|
||||
];
|
||||
};
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
@@ -161,10 +172,6 @@
|
||||
extraGroups = [
|
||||
"wheel" # Sudo access
|
||||
"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)
|
||||
};
|
||||
@@ -246,9 +253,6 @@
|
||||
|
||||
# AI coding
|
||||
claude-code
|
||||
|
||||
# Package managers
|
||||
pnpm
|
||||
];
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
|
||||
57
flake.lock
generated
57
flake.lock
generated
@@ -136,22 +136,6 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -159,11 +143,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770149488,
|
||||
"narHash": "sha256-8TFJGH6PTY453TudyPeWSmwCQsy6hT8W+2CLMMMFx5M=",
|
||||
"lastModified": 1770150024,
|
||||
"narHash": "sha256-sX7I5MJYDVJePQluHr+fL7iG38orZYYYyBCye/xLN1c=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia-shell",
|
||||
"rev": "9fe299309e12652ec02c3452fbec4f89c8341029",
|
||||
"rev": "505d6343e078f9a0288bbf16a78d5d7fd72aeeba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -198,44 +182,9 @@
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"noctalia": "noctalia",
|
||||
"opencode": "opencode",
|
||||
"vicinae": "vicinae",
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
||||
@@ -13,11 +13,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Application launcher
|
||||
vicinae = {
|
||||
url = "github:vicinaehq/vicinae";
|
||||
};
|
||||
|
||||
# Kernel
|
||||
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
||||
|
||||
@@ -37,12 +32,10 @@
|
||||
# Binary caches for faster builds
|
||||
nixConfig = {
|
||||
extra-substituters = [
|
||||
"https://vicinae.cachix.org"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://attic.xuyh0120.win/lantian"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||
];
|
||||
|
||||
@@ -44,9 +44,6 @@
|
||||
# DESKTOP PACKAGES
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Vicinae launcher
|
||||
inputs.vicinae.packages.${pkgs.system}.default
|
||||
|
||||
# Polkit agent
|
||||
polkit_gnome
|
||||
|
||||
|
||||
@@ -38,16 +38,17 @@
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# DEVELOPMENT PACKAGES
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# NOTE: GUI tools (dbeaver) and optional TUIs (lazygit, lazydocker) are in `nix profile`
|
||||
environment.systemPackages = with pkgs; [
|
||||
# ─── Containers ───
|
||||
docker-compose # Docker Compose v2
|
||||
lazydocker
|
||||
|
||||
# ─── Languages & Runtimes ───
|
||||
nodejs_22 # Node.js LTS (for Vicinae extensions, etc.)
|
||||
bun # Fast JavaScript runtime/bundler
|
||||
python3 # Python 3
|
||||
rustup # Rust toolchain manager
|
||||
bun
|
||||
pnpm
|
||||
nodejs
|
||||
python3
|
||||
rustup
|
||||
|
||||
# ─── Build Tools ───
|
||||
gcc
|
||||
@@ -57,13 +58,13 @@
|
||||
|
||||
# ─── Version Control ───
|
||||
git
|
||||
gh # GitHub CLI
|
||||
delta # Better git diff
|
||||
lazygit # Git UI
|
||||
gh
|
||||
delta
|
||||
lazygit
|
||||
|
||||
# ─── Editors & LSP ───
|
||||
# nil already in base config (Nix LSP)
|
||||
nixfmt # Nix formatter
|
||||
nil
|
||||
nixfmt
|
||||
|
||||
# ─── CLI Utilities ───
|
||||
jq # JSON processor
|
||||
@@ -73,7 +74,7 @@
|
||||
fzf # Fuzzy finder
|
||||
eza # Modern ls
|
||||
bat # Cat with syntax highlighting
|
||||
broot
|
||||
broot # TUI Folder Tree
|
||||
|
||||
# Additional CLI tools
|
||||
tealdeer # tldr - simplified man pages
|
||||
@@ -82,7 +83,4 @@
|
||||
pv # Pipe viewer (progress bar for pipes)
|
||||
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