update
This commit is contained in:
87
README.md
87
README.md
@@ -42,9 +42,6 @@ nixos/
|
|||||||
| `nixpkgs` | NixOS unstable channel |
|
| `nixpkgs` | NixOS unstable channel |
|
||||||
| `nix-cachyos-kernel` | CachyOS optimized kernel |
|
| `nix-cachyos-kernel` | CachyOS optimized kernel |
|
||||||
| `noctalia` | Noctalia shell |
|
| `noctalia` | Noctalia shell |
|
||||||
| `zen-browser` | Zen Browser |
|
|
||||||
| `ghostty` | Ghostty terminal emulator |
|
|
||||||
| `opencode` | OpenCode |
|
|
||||||
| `vicinae` | Vicinae launcher |
|
| `vicinae` | Vicinae launcher |
|
||||||
|
|
||||||
## 📦 Installation
|
## 📦 Installation
|
||||||
@@ -106,6 +103,18 @@ nix flake update
|
|||||||
nix flake lock --update-input nixpkgs
|
nix flake lock --update-input nixpkgs
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Update User Apps
|
||||||
|
|
||||||
|
GUI applications and fast-updating tools are managed via `nix profile` for instant updates without system rebuilds:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Update all user apps
|
||||||
|
update-apps
|
||||||
|
|
||||||
|
# List installed user apps
|
||||||
|
list-apps
|
||||||
|
```
|
||||||
|
|
||||||
### Garbage Collection
|
### Garbage Collection
|
||||||
|
|
||||||
Automatic garbage collection is configured weekly, but you can run it manually:
|
Automatic garbage collection is configured weekly, but you can run it manually:
|
||||||
@@ -150,18 +159,20 @@ The gaming module provides:
|
|||||||
Included tools:
|
Included tools:
|
||||||
|
|
||||||
- **Languages**: Node.js 22, Python 3, Rust (via rustup), Bun
|
- **Languages**: Node.js 22, Python 3, Rust (via rustup), Bun
|
||||||
- **Containers**: Docker with auto-prune, docker-compose, lazydocker
|
- **Containers**: Docker with auto-prune, docker-compose
|
||||||
- **Git**: lazygit, gh (GitHub CLI), delta (better diffs)
|
- **Git**: gh (GitHub CLI), delta (better diffs)
|
||||||
- **CLI**: ripgrep, fd, fzf, eza, bat, jq, yq, and more
|
- **CLI**: ripgrep, fd, fzf, eza, bat, jq, yq, and more
|
||||||
- **Editors**: Zed, VS Code (config), micro
|
- **Editors**: micro (system), Zed (user profile)
|
||||||
|
|
||||||
|
*Additional dev tools via user profile: lazygit, lazydocker, dbeaver, httpie*
|
||||||
|
|
||||||
## 🎵 Audio & Media
|
## 🎵 Audio & Media
|
||||||
|
|
||||||
- **Audio Stack**: PipeWire with JACK support
|
- **Audio Stack**: PipeWire with JACK support
|
||||||
- **Bluetooth**: Enabled with experimental features
|
- **Bluetooth**: Enabled with experimental features
|
||||||
- **Music Server**: Navidrome for self-hosted streaming
|
- **Music Server**: Navidrome for self-hosted streaming
|
||||||
- **Music Client**: Feishin
|
|
||||||
- **Video**: MPV, Celluloid, OBS Studio
|
*Media apps via user profile: Feishin, MPV, Celluloid, OBS Studio, Amberol*
|
||||||
|
|
||||||
## ⚙️ Key Services
|
## ⚙️ Key Services
|
||||||
|
|
||||||
@@ -174,6 +185,66 @@ Included tools:
|
|||||||
| Profile-sync-daemon | Browser profile in tmpfs |
|
| Profile-sync-daemon | Browser profile in tmpfs |
|
||||||
| ZRAM | Compressed swap in RAM |
|
| ZRAM | Compressed swap in RAM |
|
||||||
|
|
||||||
|
## 📦 Package Management
|
||||||
|
|
||||||
|
This configuration follows the NixOS best practice of separating system and user packages:
|
||||||
|
|
||||||
|
### System Config (`environment.systemPackages`)
|
||||||
|
|
||||||
|
Packages that require system integration:
|
||||||
|
- Services (Docker, Tailscale, Steam)
|
||||||
|
- Hardware support (gamemode, gamescope)
|
||||||
|
- Desktop infrastructure (portals, polkit, Wayland utils)
|
||||||
|
- Shell and plugins (Fish, shell aliases dependencies)
|
||||||
|
- Build tools and runtimes (gcc, nodejs, python, rustup)
|
||||||
|
|
||||||
|
### User Profile (`nix profile`)
|
||||||
|
|
||||||
|
GUI apps and fast-updating tools managed independently.
|
||||||
|
|
||||||
|
**Prerequisite:** Enable unfree packages for nix profile:
|
||||||
|
```bash
|
||||||
|
mkdir -p ~/.config/nixpkgs
|
||||||
|
echo '{ allowUnfree = true; }' > ~/.config/nixpkgs/config.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
**Install packages:**
|
||||||
|
```bash
|
||||||
|
# Priority tools (AI coding, editors, browser)
|
||||||
|
nix profile add github:youwen5/zen-browser-flake
|
||||||
|
nix profile add github:anomalyco/opencode
|
||||||
|
nix profile add nixpkgs#claude-code
|
||||||
|
nix profile add nixpkgs#zed-editor
|
||||||
|
|
||||||
|
# Communication
|
||||||
|
nix profile add nixpkgs#vesktop nixpkgs#thunderbird nixpkgs#signal-desktop nixpkgs#telegram-desktop
|
||||||
|
|
||||||
|
# Productivity
|
||||||
|
nix profile add nixpkgs#libreoffice-fresh nixpkgs#obsidian
|
||||||
|
|
||||||
|
# Media
|
||||||
|
nix profile add nixpkgs#loupe nixpkgs#evince nixpkgs#celluloid nixpkgs#mpv
|
||||||
|
nix profile add nixpkgs#amberol nixpkgs#feishin nixpkgs#picard nixpkgs#beets nixpkgs#cava
|
||||||
|
nix profile add nixpkgs#obs-studio nixpkgs#gpu-screen-recorder nixpkgs#kooha nixpkgs#swappy
|
||||||
|
|
||||||
|
# Utilities
|
||||||
|
nix profile add nixpkgs#btop nixpkgs#mission-center nixpkgs#bitwarden-desktop
|
||||||
|
nix profile add nixpkgs#gnome-calculator nixpkgs#gnome-clocks nixpkgs#baobab
|
||||||
|
nix profile add nixpkgs#localsend nixpkgs#meld nixpkgs#fastfetch
|
||||||
|
|
||||||
|
# Dev tools
|
||||||
|
nix profile add nixpkgs#lazygit nixpkgs#lazydocker nixpkgs#dbeaver-bin
|
||||||
|
nix profile add nixpkgs#httpie nixpkgs#curlie nixpkgs#glances nixpkgs#inxi
|
||||||
|
|
||||||
|
# Gaming
|
||||||
|
nix profile add nixpkgs#lutris nixpkgs#heroic nixpkgs#protonup-qt
|
||||||
|
```
|
||||||
|
|
||||||
|
**Benefits:**
|
||||||
|
- Update apps instantly with `update-apps` (no sudo, no rebuild)
|
||||||
|
- System stays stable while apps get latest versions
|
||||||
|
- Faster iteration for daily-use tools
|
||||||
|
|
||||||
## 📝 Notes
|
## 📝 Notes
|
||||||
|
|
||||||
- **Kernel**: Uses CachyOS kernel with x86_64-v3 optimizations
|
- **Kernel**: Uses CachyOS kernel with x86_64-v3 optimizations
|
||||||
|
|||||||
44
flake.lock
generated
44
flake.lock
generated
@@ -156,34 +156,12 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"opencode": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1770064560,
|
|
||||||
"narHash": "sha256-j6bLJHRRgLrcv1srTrXOlfYLup407ihD9nDgoG1bU8o=",
|
|
||||||
"owner": "anomalyco",
|
|
||||||
"repo": "opencode",
|
|
||||||
"rev": "824165eb792edfd8600d44aac83e1f6bba2a9e62",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "anomalyco",
|
|
||||||
"repo": "opencode",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
"nix-cachyos-kernel": "nix-cachyos-kernel",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"noctalia": "noctalia",
|
"noctalia": "noctalia",
|
||||||
"opencode": "opencode",
|
"vicinae": "vicinae"
|
||||||
"vicinae": "vicinae",
|
|
||||||
"zen-browser": "zen-browser"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@@ -221,26 +199,6 @@
|
|||||||
"repo": "vicinae",
|
"repo": "vicinae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"zen-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769747637,
|
|
||||||
"narHash": "sha256-fRdj480sqW/a+APO6CmelZsa07BRAdEQLUjBQJuyQbU=",
|
|
||||||
"owner": "youwen5",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"rev": "09e429679b7cc175e71e2d25800bab66493c1c80",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "youwen5",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
22
migration.md
Normal file
22
migration.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
## Migration Complete
|
||||||
|
All config files have been updated. Here's your deployment plan:
|
||||||
|
### Step 1: Rebuild your system
|
||||||
|
```bash
|
||||||
|
sudo nixos-rebuild switch --flake .#nixos
|
||||||
|
```
|
||||||
|
### Step 2: Install user packages to your profile
|
||||||
|
```bash
|
||||||
|
nix profile install github:youwen5/zen-browser-flake
|
||||||
|
nix profile install github:anomalyco/opencode
|
||||||
|
nix profile install nixpkgs#claude-code
|
||||||
|
nix profile install nixpkgs#zed-editor
|
||||||
|
nix profile install nixpkgs#fastfetch
|
||||||
|
nix profile install nixpkgs#loupe nixpkgs#evince nixpkgs#celluloid nixpkgs#mpv
|
||||||
|
nix profile install nixpkgs#amberol nixpkgs#feishin nixpkgs#picard nixpkgs#beets nixpkgs#cava
|
||||||
|
nix profile install nixpkgs#vesktop nixpkgs#thunderbird nixpkgs#signal-desktop nixpkgs#telegram-desktop
|
||||||
|
nix profile install nixpkgs#libreoffice-fresh nixpkgs#obsidian
|
||||||
|
nix profile install nixpkgs#btop nixpkgs#mission-center nixpkgs#gnome-calculator nixpkgs#gnome-clocks nixpkgs#baobab nixpkgs#localsend nixpkgs#meld nixpkgs#bitwarden-desktop
|
||||||
|
nix profile install nixpkgs#swappy nixpkgs#obs-studio nixpkgs#gpu-screen-recorder nixpkgs#kooha
|
||||||
|
nix profile install nixpkgs#lazygit nixpkgs#lazydocker nixpkgs#dbeaver-bin nixpkgs#httpie nixpkgs#curlie nixpkgs#glances nixpkgs#inxi
|
||||||
|
nix profile install nixpkgs#lutris nixpkgs#heroic nixpkgs#protonup-qt
|
||||||
|
```
|
||||||
@@ -113,7 +113,8 @@
|
|||||||
fishPlugins.done # Notification when long command finishes
|
fishPlugins.done # Notification when long command finishes
|
||||||
fishPlugins.grc # Colorize command output
|
fishPlugins.grc # Colorize command output
|
||||||
|
|
||||||
# Required by aliases
|
# Required by plugins/aliases
|
||||||
|
grc # Required by fishPlugins.grc
|
||||||
dust # Better du
|
dust # Better du
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user