Compare commits

...

47 Commits

Author SHA1 Message Date
Ryan Yin 5bc941d9e2 docs: README 2024-06-03 15:00:37 +08:00
Ryan Yin 7f6c061041 docs: README 2024-06-03 14:59:56 +08:00
Ryan Yin b8e45b28e1 docs: README 2024-06-03 14:58:49 +08:00
Ryan Yin 21555a4148 feat(neovim): update plugins - orgmode 2024-06-03 14:33:39 +08:00
Ryan Yin 0f4387800f fix: #122 - cgo-builtin-prolog:1:10: fatal error: 'stddef.h' file not found 2024-06-03 10:11:17 +08:00
Ryan Yin 1095d8fa53 fix: missing pkgs-stable 2024-06-02 14:22:44 +08:00
Ryan Yin 98e2e7196d Merge pull request #129 from ryan4yin/upgrade-to-24.05
feat: upgrade to 24.05
2024-06-02 13:58:13 +08:00
Ryan Yin 0a764cfdf3 fix: python3.11-k5test-0.10.4 is marked as broken 2024-06-02 13:56:51 +08:00
Ryan Yin 54e4dfcec0 chore: update yabai 2024-06-02 13:35:40 +08:00
Ryan Yin f37588df64 fix: nixpkgs for darwin 2024-06-02 12:59:13 +08:00
Ryan Yin 9adf87aaf5 feat: upgrade to 24.05
fix: remove or update some packages
2024-06-02 11:17:32 +08:00
Ryan Yin 82dccbdeca fix: add exfat support for idols-ai 2024-05-15 20:49:51 +08:00
Ryan Yin af88851772 feat(modules/base.nix): add cuda-maintainer's cache server 2024-05-14 15:21:01 +08:00
Ryan Yin b3d7d0d2a3 Merge pull request #128 from shelken/main
chore(Justfile): Use recipe attributes to scope commands on specific platform
2024-05-13 10:49:23 +08:00
shelken b0fcf9d9e7 chore(Justfile): Use recipe attributes to scope commands on specific platforms
使用
[配方属性](https://github.com/casey/just/tree/master?tab=readme-ov-file#recipe-attributes)
以限定命令使用的平台
2024-05-13 10:01:25 +08:00
Ryan Yin 7bd264fee9 chore: update darwin's home configs 2024-05-11 17:05:28 +08:00
Ryan Yin 2a841a5a32 feat: yazi intergration - nushell 2024-05-11 11:26:09 +08:00
Ryan Yin e97e61c8d2 feat(home/base/core/git.nix): trim.bases 2024-05-10 15:01:47 +08:00
Ryan Yin c65018f450 Update FUNDING.yml 2024-05-10 12:14:26 +08:00
Ryan Yin 218ff4c1da Merge pull request #127 from DataEraserC/patch-8
fix(Justfile): fix `'--update-input' is a deprecated alias for 'flake update'`
2024-05-10 09:41:10 +08:00
Sacabambaspis e26c20a29b fix(Justfile): fix '--update-input' is a deprecated alias for 'flake update' 2024-05-09 22:49:16 +08:00
Ryan Yin 13751a4b66 fix: mason-nvim-dap - debugger not found 2024-05-06 15:06:32 +08:00
Ryan Yin f4d91b6827 feat: enableNushellIntegration for atuin 2024-05-06 11:59:45 +08:00
Ryan Yin 4f780f3f61 refactor: scripts 2024-05-06 11:59:45 +08:00
Ryan Yin a626458b8e Merge pull request #126 from DataEraserC/patch-7
fix(secrets/README.md): fix nixpkgs does not contain agenix
2024-05-06 09:33:47 +08:00
Sacabambaspis 87c041f8b4 fix(secrets/README.md): fix nixpkgs does not contain agenix
Closes #125
2024-05-05 18:05:43 +08:00
Ryan Yin ace653e9d6 Merge pull request #124 from DataEraserC/patch-6
feat: Replace unzip with unzipNLS for proper extraction of non-English content
2024-04-30 13:59:21 +08:00
Sacabambaspis bb913b181d feat: replace unzip with unzipNLS for proper extraction of non-English content 2024-04-30 00:53:18 +08:00
Ryan Yin bec52f9d60 feat: update flake.lock, disable all configs related to remote desktop 2024-04-25 21:14:56 +08:00
Ryan Yin de891782cb fix(home/base/tui/editors/packages.nix): python debugger 2024-04-24 18:34:21 +08:00
Ryan Yin 5abbd63284 docs: fix the maxium keyfile size of luks 2024-04-24 11:22:15 +08:00
Ryan Yin 14dabdcee5 Merge pull request #123 from ryan4yin/fix-nixpkgs-flakes
fix: option `nix.registry.nixpkgs.to.path' has conflicting definition
2024-04-20 14:59:41 +08:00
Ryan Yin 5583f1ffe9 fix: option `nix.registry.nixpkgs.to.path' has conflicting definition 2024-04-20 14:58:49 +08:00
Ryan Yin 6b016a2432 refactor: macos's nixpkgs registry 2024-04-20 14:02:56 +08:00
Ryan Yin cad8cf325d fix: suzu - deployment - networking 2024-04-20 13:51:11 +08:00
Ryan Yin 9a0e41429a docs: nixos-install + persistent 2024-04-20 13:29:03 +08:00
Ryan Yin 44ce90bf68 docs: nvidia 2024-04-20 13:20:49 +08:00
Ryan Yin 9fe6ef9165 fix: enable networkmanager for idols-ai 2024-04-20 12:51:58 +08:00
Ryan Yin 4b2035a0dc chore: update all flake inputs 2024-04-20 12:48:07 +08:00
Ryan Yin 21d85d41ef feat: use the latest version of the nix package manager 2024-04-18 11:03:49 +08:00
Ryan Yin 7fd3baca0f docs: copy closure 2024-04-17 23:28:59 +08:00
Ryan Yin ce645e7935 fix: homepage - backgroud image 2024-04-17 23:22:13 +08:00
Ryan Yin 9631334088 Merge pull request #121 from kluen/patch-1
docs(README): Fix links to neovim and emacs
2024-04-16 09:42:41 +08:00
Kristof Lünenschloß a9bb04c37d docs(README): Fix links to neovim and emacs 2024-04-15 21:48:02 +02:00
Ryan Yin ddad742023 Merge pull request #120 from DataEraserC/patch-5
fix several typos
2024-04-15 09:47:24 +08:00
Sacabambaspis 21c9e572af fix(home/linux/gui/base/xdg.nix): fix code typo (dekstop -> desktop) 2024-04-14 02:09:28 +08:00
Sacabambaspis 6b2168b925 fix(utils.nu): fix comment typo (Virutal -> Virtual) 2024-04-14 02:09:05 +08:00
71 changed files with 383 additions and 404 deletions
+1
View File
@@ -1,2 +1,3 @@
github: ryan4yin
patreon: ryan4yin patreon: ryan4yin
custom: ["https://buymeacoffee.com/ryan4yin", "https://afdian.net/a/ryan4yin"] custom: ["https://buymeacoffee.com/ryan4yin", "https://afdian.net/a/ryan4yin"]
+22 -11
View File
@@ -28,7 +28,7 @@ up:
# Update specific input # Update specific input
# Usage: just upp nixpkgs # Usage: just upp nixpkgs
upp input: upp input:
nix flake lock --update-input {{input}} nix flake update {{input}}
# List all generations of the system profile # List all generations of the system profile
history: history:
@@ -59,19 +59,23 @@ gitgc:
# #
############################################################################ ############################################################################
[linux]
i3 mode="default": i3 mode="default":
use utils.nu *; \ use utils.nu *; \
nixos-switch ai-i3 {{mode}} nixos-switch ai-i3 {{mode}}
[linux]
hypr mode="default": hypr mode="default":
use utils.nu *; \ use utils.nu *; \
nixos-switch ai-hyprland {{mode}} nixos-switch ai-hyprland {{mode}}
[linux]
s-i3 mode="default": s-i3 mode="default":
use utils.nu *; \ use utils.nu *; \
nixos-switch shoukei-i3 {{mode}} nixos-switch shoukei-i3 {{mode}}
[linux]
s-hypr mode="default": s-hypr mode="default":
use utils.nu *; \ use utils.nu *; \
nixos-switch shoukei-hyprland {{mode}} nixos-switch shoukei-hyprland {{mode}}
@@ -82,27 +86,32 @@ s-hypr mode="default":
# #
############################################################################ ############################################################################
[macos]
darwin-set-proxy: darwin-set-proxy:
sudo python3 scripts/darwin_set_proxy.py sudo python3 scripts/darwin_set_proxy.py
sleep 1sec sleep 1sec
[macos]
darwin-rollback: darwin-rollback:
use utils.nu *; \ use utils.nu *; \
darwin-rollback darwin-rollback
# Deploy to harmonica(macOS host) # Deploy to harmonica(macOS host)
[macos]
ha mode="default": ha mode="default":
use utils.nu *; \ use utils.nu *; \
darwin-build "harmonica" {{mode}}; \ darwin-build "harmonica" {{mode}}; \
darwin-switch "harmonica" {{mode}} darwin-switch "harmonica" {{mode}}
# Depoly to fern(macOS host) # Depoly to fern(macOS host)
[macos]
fe mode="default": darwin-set-proxy fe mode="default": darwin-set-proxy
use utils.nu *; \ use utils.nu *; \
darwin-build "fern" {{mode}}; \ darwin-build "fern" {{mode}}; \
darwin-switch "fern" {{mode}} darwin-switch "fern" {{mode}}
# Reload yabai and skhd(macOS) # Reload yabai and skhd(macOS)
[macos]
yabai-reload: yabai-reload:
launchctl kickstart -k "gui/502/org.nixos.yabai"; launchctl kickstart -k "gui/502/org.nixos.yabai";
launchctl kickstart -k "gui/502/org.nixos.skhd"; launchctl kickstart -k "gui/502/org.nixos.skhd";
@@ -232,16 +241,6 @@ yukina:
# #
############################################################################ ############################################################################
aarch:
colmena apply --on '@aarch' --build-on-target --verbose --show-trace
suzu:
colmena apply --on '@suzu' --build-on-target --verbose --show-trace
suzu-local mode="default":
use utils.nu *; \
nixos-switch suzu {{mode}}
rakushun: rakushun:
colmena apply --on '@rakushun' --build-on-target --verbose --show-trace colmena apply --on '@rakushun' --build-on-target --verbose --show-trace
@@ -249,6 +248,18 @@ rakushun-local mode="default":
use utils.nu *; \ use utils.nu *; \
nixos-switch rakushun {{mode}} nixos-switch rakushun {{mode}}
suzu-set-proxy:
ip route del default via 192.168.5.1
ip route add default via 192.168.5.178
suzu-unset-proxy:
ip route del default via 192.168.5.178
ip route add default via 192.168.5.1
suzu-local mode="default":
use utils.nu *; \
nixos-switch suzu {{mode}}
############################################################################ ############################################################################
# #
# Misc, other useful commands # Misc, other useful commands
+9 -7
View File
@@ -8,16 +8,18 @@
<a href="https://github.com/ryan4yin/nix-config/stargazers"> <a href="https://github.com/ryan4yin/nix-config/stargazers">
<img alt="Stargazers" src="https://img.shields.io/github/stars/ryan4yin/nix-config?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41"></a> <img alt="Stargazers" src="https://img.shields.io/github/stars/ryan4yin/nix-config?style=for-the-badge&logo=starship&color=C9CBFF&logoColor=D9E0EE&labelColor=302D41"></a>
<a href="https://nixos.org/"> <a href="https://nixos.org/">
<img src="https://img.shields.io/badge/NixOS-23.11-informational.svg?style=for-the-badge&logo=nixos&color=F2CDCD&logoColor=D9E0EE&labelColor=302D41"></a> <img src="https://img.shields.io/badge/NixOS-24.05-informational.svg?style=for-the-badge&logo=nixos&color=F2CDCD&logoColor=D9E0EE&labelColor=302D41"></a>
<a href="https://github.com/ryan4yin/nixos-and-flakes-book"> <a href="https://github.com/ryan4yin/nixos-and-flakes-book">
<img src="https://img.shields.io/static/v1?label=Nix Flakes&message=learning&style=for-the-badge&logo=nixos&color=DDB6F2&logoColor=D9E0EE&labelColor=302D41"></a> <img src="https://img.shields.io/static/v1?label=Nix Flakes&message=learning&style=for-the-badge&logo=nixos&color=DDB6F2&logoColor=D9E0EE&labelColor=302D41"></a>
</a> </a>
</p> </p>
> My configuration is becoming more and more complex, and it may be difficult for beginners to read > My configuration is becoming more and more complex, and it will be difficult for beginners to
> it. If you are new to NixOS and want to know how I use NixOS, I would recommend you to take a look > read. If you are new to NixOS and want to know how I use NixOS, I would recommend you to take a
> at the [ryan4yin/nix-config/releases](https://github.com/ryan4yin/nix-config/releases) first, > look at the [ryan4yin/nix-config/releases](https://github.com/ryan4yin/nix-config/releases) first,
> **checkout to some simpler older versions**, which will be much easier to understand. > **checkout to some simpler older versions, such as
> [i3-kickstarter](https://github.com/ryan4yin/nix-config/tree/i3-kickstarter), which will be much
> easier to understand**.
This repository is home to the nix code that builds my systems: This repository is home to the nix code that builds my systems:
@@ -89,11 +91,11 @@ Wallpapers: https://github.com/ryan4yin/wallpapers
## Neovim ## Neovim
See [./home/base/desktop/editors/neovim/](./home/base/desktop/editors/neovim/) for details. See [./home/base/tui/editors/neovim/](./home/base/tui/editors/neovim/) for details.
## Emacs ## Emacs
See [./home/base/desktop/editors/emacs/](./home/base/desktop/editors/emacs/) for details. See [./home/base/tui/editors/emacs/](./home/base/tui/editors/emacs/) for details.
## Secrets Management ## Secrets Management
Generated
+101 -194
View File
@@ -56,11 +56,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712136515, "lastModified": 1713259062,
"narHash": "sha256-LpjQJYC24S5P5XhJsZX6HqsQT1pohcFzM6N42I6qo/U=", "narHash": "sha256-WTO84hUL8IlNuHDK2yOCeJ38EewFzGt5E0kzBjNWxa8=",
"owner": "Kirottu", "owner": "Kirottu",
"repo": "anyrun", "repo": "anyrun",
"rev": "be6728884d543665e7bd137bbef62dc1d04a210b", "rev": "f9d30e34fa4ccb2797c6becec37e8bcff6585d39",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -133,11 +133,11 @@
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1712105825, "lastModified": 1714638472,
"narHash": "sha256-v3VCRwOE4qaNNLTW8YaGzBxGyQr4BHAbrbUlSDT8lJo=", "narHash": "sha256-6x/uskMYjtu/0D6DoudhxaVCEdpDoJHBOihlk+oSk/0=",
"owner": "daeuniverse", "owner": "daeuniverse",
"repo": "flake.nix", "repo": "flake.nix",
"rev": "ed270befb65251a6d6ad88403980a5186813464f", "rev": "0ca155a907fb349e286bc0df96fcdc6c31b08844",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -195,15 +195,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712798444, "lastModified": 1715070411,
"narHash": "sha256-aAksVB7zMfBQTz0q2Lw3o78HM3Bg2FRziX2D6qnh+sk=", "narHash": "sha256-5CNvkH0Nf7yMwgKhjUNg/lUK40C7DXB4zKOuA2jVO90=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "a297cb1cb0337ee10a7a0f9517954501d8f6f74d", "rev": "4677f6c53482a8b01ee93957e3bdd569d51261d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "v1.6.1",
"repo": "disko", "repo": "disko",
"type": "github" "type": "github"
} }
@@ -211,11 +212,11 @@
"doomemacs": { "doomemacs": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1712646848, "lastModified": 1713464448,
"narHash": "sha256-x9VilOgxOWpU0TyfisMxKGocBAEnMCkl+P9nmOfvMpI=", "narHash": "sha256-Fhir4WlcfEh70V8+oNS1LVAGBftiqtD2qaHzOC8BJUI=",
"owner": "doomemacs", "owner": "doomemacs",
"repo": "doomemacs", "repo": "doomemacs",
"rev": "da3d0687c5008edbbe5575ac1077798553549a6a", "rev": "9620bb45ac4cd7b0274c497b2d9d93c4ad9364ee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -358,11 +359,11 @@
"nixpkgs-lib": "nixpkgs-lib_2" "nixpkgs-lib": "nixpkgs-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1712014858, "lastModified": 1717285511,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -445,7 +446,7 @@
}, },
"flake-utils_5": { "flake-utils_5": {
"inputs": { "inputs": {
"systems": "systems_8" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1681202837,
@@ -463,7 +464,7 @@
}, },
"flake-utils_6": { "flake-utils_6": {
"inputs": { "inputs": {
"systems": "systems_9" "systems": "systems_8"
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1705309234,
@@ -481,7 +482,7 @@
}, },
"flake-utils_7": { "flake-utils_7": {
"inputs": { "inputs": {
"systems": "systems_10" "systems": "systems_9"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1701680307,
@@ -499,7 +500,7 @@
}, },
"flake-utils_8": { "flake-utils_8": {
"inputs": { "inputs": {
"systems": "systems_11" "systems": "systems_10"
}, },
"locked": { "locked": {
"lastModified": 1681202837, "lastModified": 1681202837,
@@ -515,24 +516,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_9": {
"inputs": {
"systems": "systems_12"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -670,23 +653,26 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712759992, "lastModified": 1716736833,
"narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=", "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9", "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "master", "ref": "release-24.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
"hyprcursor": { "hyprcursor": {
"inputs": { "inputs": {
"hyprlang": "hyprlang", "hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@@ -714,25 +700,25 @@
"inputs": { "inputs": {
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang_2", "hyprlang": "hyprlang",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_7", "systems": "systems_6",
"wlroots": "wlroots", "wlroots": "wlroots",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1712413453, "lastModified": 1713283263,
"narHash": "sha256-6y422rx8ScSkjR1dNYGYUxBmFewRYlCz9XZZ+XrVZng=", "narHash": "sha256-Urb/njWiHYUudXpmK8EKl9Z58esTIG0PxXw5LuM2r5g=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "360ede79d124ffdeebbe8401f1ac4bc0dbec2c91", "rev": "fe7b748eb668136dd0558b7c8279bfcd7ab4d759",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "hyprwm", "owner": "hyprwm",
"ref": "v0.38.1", "ref": "v0.39.1",
"repo": "Hyprland", "repo": "Hyprland",
"type": "github" "type": "github"
} }
@@ -763,29 +749,6 @@
} }
}, },
"hyprlang": { "hyprlang": {
"inputs": {
"nixpkgs": [
"hyprland",
"hyprcursor",
"nixpkgs"
],
"systems": "systems_6"
},
"locked": {
"lastModified": 1709914708,
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlang_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
@@ -861,11 +824,11 @@
"spectrum": "spectrum" "spectrum": "spectrum"
}, },
"locked": { "locked": {
"lastModified": 1712654305, "lastModified": 1717281900,
"narHash": "sha256-CNdpLnGOUZfIhBanAFVF7t1xstaQGL4w6sQPrVeLlus=", "narHash": "sha256-NBwB16qOv8TKaPg62UXfy+RojsDC+DLZPtohUqUyIM4=",
"owner": "astro", "owner": "astro",
"repo": "microvm.nix", "repo": "microvm.nix",
"rev": "ee0068ca87bdabbde3cc39b7af807c0302d0304c", "rev": "16ec47e1fae62bcc2a76e164b7101152ad98849c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -898,11 +861,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1711763326, "lastModified": 1716993688,
"narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=", "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083", "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -938,11 +901,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1712884330, "lastModified": 1717291091,
"narHash": "sha256-xYTrM82HEy1E1tGysT3CfNLgTKym9TUMciOPJrPkPaA=", "narHash": "sha256-mqIW9h5Nl4gupXMWf/0TOD+D6gTaiQ8dHsYVg5eCq5s=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "e3f09d077b360802d5b744befd2a0803fb9aae18", "rev": "26fb5cc81525a6ba2bb7bfd4b6ecd92cc161afdc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1011,11 +974,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712537332, "lastModified": 1716210724,
"narHash": "sha256-yYlxv1sg/TNl6hghjAe0ct+/p5PwXiT1mpuaExjhR88=", "narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "d942db8df8ee860556a38754f15b8d03bf7e6933", "rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1048,11 +1011,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1712909959, "lastModified": 1717248095,
"narHash": "sha256-7/5ubuwdEbQ7Z+Vqd4u0mM5L2VMNDsBh54visp27CtQ=", "narHash": "sha256-e8X2eWjAHJQT82AAN+mCI0B68cIDBJpqJ156+VRrFO0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "f58b25254be441cd2a9b4b444ed83f1e51244f1f", "rev": "7b49d3967613d9aacac5b340ef158d493906ba79",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1088,11 +1051,11 @@
"pre-commit-hooks": "pre-commit-hooks_2" "pre-commit-hooks": "pre-commit-hooks_2"
}, },
"locked": { "locked": {
"lastModified": 1711336411, "lastModified": 1715737248,
"narHash": "sha256-0JZPbUB6LjcRilXhZdtsVHtb0V9Vy1bmVjVoeQAPJhQ=", "narHash": "sha256-DFh9cEWypbcitiuQ+pazHrY2z0qq2XYzPFsqZg7oZ5M=",
"owner": "ryan4yin", "owner": "ryan4yin",
"repo": "nixos-rk3588", "repo": "nixos-rk3588",
"rev": "349f39dcaafeb41250544bcc066db8668a7762ce", "rev": "c4fef04d8c124146e6e99138283e0c57b2ad8e29",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1119,16 +1082,16 @@
}, },
"nixpkgs-darwin": { "nixpkgs-darwin": {
"locked": { "locked": {
"lastModified": 1712867921, "lastModified": 1717100421,
"narHash": "sha256-edTFV4KldkCMdViC/rmpJa7oLIU8SE/S35lh/ukC7bg=", "narHash": "sha256-T+0Q1QHBDCoa4yBJrY7cG3vDEhqm4PwOLmNI6mzEwVc=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "51651a540816273b67bc4dedea2d37d116c5f7fe", "rev": "75000c2cf4422c8a1776284314921ac1289c02c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixpkgs-23.11-darwin", "ref": "nixpkgs-24.05-darwin",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -1153,20 +1116,14 @@
}, },
"nixpkgs-lib_2": { "nixpkgs-lib_2": {
"locked": { "locked": {
"dir": "lib", "lastModified": 1717284937,
"lastModified": 1711703276, "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
"repo": "nixpkgs",
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"type": "github"
}, },
"original": { "original": {
"dir": "lib", "type": "tarball",
"owner": "NixOS", "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
@@ -1202,22 +1159,6 @@
} }
}, },
"nixpkgs-stable_3": { "nixpkgs-stable_3": {
"locked": {
"lastModified": 1712741485,
"narHash": "sha256-bCs0+MSTra80oXAsnM6Oq62WsirOIaijQ/BbUY59tR4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b2cf36f43f9ef2ded5711b30b1f393ac423d8f72",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_4": {
"locked": { "locked": {
"lastModified": 1710695816, "lastModified": 1710695816,
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
@@ -1235,16 +1176,16 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1712791164, "lastModified": 1717258601,
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "narHash": "sha256-gMvWwxNTVDcYWEpdW1YXiA3oKaMU4dFkUmUAEo3RNNU=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "rev": "a66aecff8795337adf83e16be9dd070fab95c341",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable-small",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -1283,11 +1224,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1712420723, "lastModified": 1717112898,
"narHash": "sha256-VnG0Eu394Ga2FCe8Q66m6OEQF8iAqjDYsjmtl+N2omk=", "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9e7f26f82acb057498335362905fde6fea4ca50a", "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1331,16 +1272,16 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1712791164, "lastModified": 1717144377,
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "rev": "805a384895c696f802a9bf5bf4720f37385df547",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -1381,11 +1322,11 @@
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1712063232, "lastModified": 1714761851,
"narHash": "sha256-L4bq1b79DzovEMt6Hvsb//G0r/ysWklXSfsbiDZ8bjY=", "narHash": "sha256-I0xDxQddlCT+R+YkLxg6eRSceFSCQFz8RL1clqKkr0g=",
"owner": "DeterminateSystems", "owner": "DeterminateSystems",
"repo": "nuenv", "repo": "nuenv",
"rev": "2162f67a6decb952954868d0188ccb6cc5886f7e", "rev": "970bfd5321a5ff55135993f956aa7ad445778151",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1399,11 +1340,11 @@
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1705366605, "lastModified": 1716254884,
"narHash": "sha256-dtqRDMUIHENtk+phT2ZlMpvjwoL/NSqooYUHGzbTYAI=", "narHash": "sha256-hD81HKsakexq9d1au5bUr7zdt+hl2WphQfJzzZl1Z1I=",
"owner": "ryan4yin", "owner": "ryan4yin",
"repo": "nur-packages", "repo": "nur-packages",
"rev": "5d78b74e08398b02344edd462c1cf95febab841e", "rev": "91884156a05dca68fb2b30883af819c39a6ac910",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1437,11 +1378,11 @@
"polybar-themes": { "polybar-themes": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1710946857, "lastModified": 1716044464,
"narHash": "sha256-jaXlCuw8Wg6lOdUpFw7CTRCBSSXeXF6bG+50Snq9Gvo=", "narHash": "sha256-n5UcGHU/DQYezIma9w3zAQ2QZ7q6TmnbWYghT0EIETU=",
"owner": "adi1090x", "owner": "adi1090x",
"repo": "polybar-themes", "repo": "polybar-themes",
"rev": "adb6a4546a8351a469fa779df173e46b69aa1ac3", "rev": "ebfc6eabdf68e9af0f160dc88df20e7a8813d3dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1542,19 +1483,18 @@
"pre-commit-hooks_3": { "pre-commit-hooks_3": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_9",
"gitignore": "gitignore_4", "gitignore": "gitignore_4",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-stable": "nixpkgs-stable_4" "nixpkgs-stable": "nixpkgs-stable_3"
}, },
"locked": { "locked": {
"lastModified": 1712897695, "lastModified": 1716213921,
"narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=", "narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8", "rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1585,7 +1525,6 @@
"nixos-rk3588": "nixos-rk3588", "nixos-rk3588": "nixos-rk3588",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_7",
"nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-darwin": "nixpkgs-darwin",
"nixpkgs-stable": "nixpkgs-stable_3",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nuenv": "nuenv", "nuenv": "nuenv",
"nur-ryan4yin": "nur-ryan4yin", "nur-ryan4yin": "nur-ryan4yin",
@@ -1712,36 +1651,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_11": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_12": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": { "systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -1819,16 +1728,16 @@
}, },
"systems_7": { "systems_7": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1681028828,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"type": "github" "type": "github"
} }
}, },
@@ -1903,20 +1812,18 @@
"wlroots": { "wlroots": {
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.freedesktop.org", "lastModified": 1713124002,
"lastModified": 1709983277, "narHash": "sha256-vPeZCY+sdiGsz4fl3AVVujfyZyQBz6+vZdkUE4hQ+HI=",
"narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=", "owner": "hyprwm",
"owner": "wlroots", "repo": "wlroots-hyprland",
"repo": "wlroots", "rev": "611a4f24cd2384378f6e500253983107c6656c64",
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", "type": "github"
"type": "gitlab"
}, },
"original": { "original": {
"host": "gitlab.freedesktop.org", "owner": "hyprwm",
"owner": "wlroots", "repo": "wlroots-hyprland",
"repo": "wlroots", "rev": "611a4f24cd2384378f6e500253983107c6656c64",
"rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b", "type": "github"
"type": "gitlab"
} }
}, },
"xdph": { "xdph": {
+8 -8
View File
@@ -36,12 +36,12 @@
# which represents the GitHub repository URL + branch/commit-id/tag. # which represents the GitHub repository URL + branch/commit-id/tag.
# Official NixOS package source, using nixos's unstable branch by default # Official NixOS package source, using nixos's unstable branch by default
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; # nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
# for macos # for macos
nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-23.11-darwin"; nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-24.05-darwin";
nix-darwin = { nix-darwin = {
url = "github:lnl7/nix-darwin"; url = "github:lnl7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs-darwin"; inputs.nixpkgs.follows = "nixpkgs-darwin";
@@ -50,8 +50,8 @@
# home-manager, used for managing user configuration # home-manager, used for managing user configuration
home-manager = { home-manager = {
# url = "github:nix-community/home-manager/release-23.11"; url = "github:nix-community/home-manager/release-24.05";
url = "github:nix-community/home-manager/master"; # url = "github:nix-community/home-manager/master";
# The `follows` keyword in inputs is used for inheritance. # The `follows` keyword in inputs is used for inheritance.
# Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake, # Here, `inputs.nixpkgs` of home-manager is kept consistent with the `inputs.nixpkgs` of the current flake,
@@ -67,7 +67,7 @@
impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
hyprland = { hyprland = {
url = "github:hyprwm/Hyprland/v0.38.1"; url = "github:hyprwm/Hyprland/v0.39.1";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -96,7 +96,7 @@
nix-gaming.url = "github:fufexan/nix-gaming"; nix-gaming.url = "github:fufexan/nix-gaming";
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko/v1.6.1";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
+1 -1
View File
@@ -134,7 +134,7 @@
enable = true; enable = true;
enableBashIntegration = true; enableBashIntegration = true;
enableZshIntegration = true; enableZshIntegration = true;
enableNushellIntegration = false; enableNushellIntegration = true;
}; };
}; };
} }
+2 -1
View File
@@ -25,7 +25,7 @@
includes = [ includes = [
{ {
# use diffrent email & name for work # use different email & name for work
path = "~/work/.gitconfig"; path = "~/work/.gitconfig";
condition = "gitdir:~/work/"; condition = "gitdir:~/work/";
} }
@@ -33,6 +33,7 @@
extraConfig = { extraConfig = {
init.defaultBranch = "main"; init.defaultBranch = "main";
trim.bases = "develop,master,main"; # for git-trim
push.autoSetupRemote = true; push.autoSetupRemote = true;
pull.rebase = true; pull.rebase = true;
+1 -2
View File
@@ -10,8 +10,7 @@
package = pkgs-unstable.yazi; package = pkgs-unstable.yazi;
# Changing working directory when exiting Yazi # Changing working directory when exiting Yazi
enableBashIntegration = true; enableBashIntegration = true;
# TODO: nushellIntegration is broken on release-23.11, wait for master's fix to be released enableNushellIntegration = true;
enableNushellIntegration = false;
}; };
xdg.configFile."yazi/theme.toml".source = "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-yazi}/mocha.toml"; xdg.configFile."yazi/theme.toml".source = "${nur-ryan4yin.packages.${pkgs.system}.catppuccin-yazi}/mocha.toml";
-3
View File
@@ -1,8 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
# db related
dbeaver
mitmproxy # http/https proxy tool mitmproxy # http/https proxy tool
insomnia # REST client insomnia # REST client
wireshark # network analyzer wireshark # network analyzer
+1 -1
View File
@@ -54,7 +54,7 @@ Error opening terminal: xterm-kitty.
NixOS preserve the `TERMINFO` and `TERMINFO_DIRS` environment variables, for `root` and the `wheel` NixOS preserve the `TERMINFO` and `TERMINFO_DIRS` environment variables, for `root` and the `wheel`
group: group:
[nixpkgs/nixos/modules/config/terminfo.nix](https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/config/terminfo.nix#L18) [nixpkgs/nixos/modules/config/terminfo.nix](https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/config/terminfo.nix#L18)
For nix-darwin, take a look at <https://github.com/LnL7/nix-darwin/wiki/Terminfo-issues> For nix-darwin, take a look at <https://github.com/LnL7/nix-darwin/wiki/Terminfo-issues>
+1 -1
View File
@@ -12,7 +12,7 @@
# You can update Home Manager without changing this value. See # You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version # the Home Manager release notes for a list of state version
# changes in each release. # changes in each release.
stateVersion = "23.11"; stateVersion = "24.05";
}; };
# Let Home Manager install and manage itself. # Let Home Manager install and manage itself.
+3 -3
View File
@@ -18,8 +18,8 @@
colmena # nixos's remote deployment tool colmena # nixos's remote deployment tool
# db related # db related
mycli pkgs-unstable.mycli
pgcli pkgs-unstable.pgcli
mongosh mongosh
sqlite sqlite
@@ -27,7 +27,7 @@
minicom minicom
# ai related # ai related
python311Packages.huggingface-hub # huggingface-cli pkgs-unstable.python312Packages.huggingface-hub # huggingface-cli
# misc # misc
pkgs-unstable.devbox pkgs-unstable.devbox
@@ -42,13 +42,14 @@ return {
-- end, -- end,
}, },
{ {
-- https://docs.astronvim.com/recipes/dap/
"jay-babu/mason-nvim-dap.nvim", "jay-babu/mason-nvim-dap.nvim",
-- mason is unusable on NixOS, disable it. -- mason is unusable on NixOS, disable it.
-- ensure_installed nothing -- ensure_installed nothing
opts = function(_, opts) -- opts = function(_, opts)
opts.ensure_installed = nil -- opts.ensure_installed = nil
opts.automatic_installation = false -- opts.automatic_installation = false
end, -- end,
-- overrides `require("mason-nvim-dap").setup(...)` -- overrides `require("mason-nvim-dap").setup(...)`
-- opts = function(_, opts) -- opts = function(_, opts)
@@ -1,26 +1,19 @@
return { return {
"nvim-orgmode/orgmode", 'nvim-orgmode/orgmode',
dependencies = { event = 'VeryLazy',
{ "nvim-treesitter/nvim-treesitter", lazy = true }, ft = { 'org' },
},
event = "VeryLazy",
config = function() config = function()
-- Load treesitter grammar for org
require("orgmode").setup_ts_grammar()
-- Setup treesitter
require("nvim-treesitter.configs").setup {
highlight = {
enable = true,
additional_vim_regex_highlighting = { "org" },
},
ensure_installed = { "org" },
}
-- Setup orgmode -- Setup orgmode
require("orgmode").setup { require('orgmode').setup({
org_agenda_files = "~/org/**/*", org_agenda_files = "~/org/**/*",
org_default_notes_file = "~/org/refile.org", org_default_notes_file = "~/org/refile.org",
} })
-- NOTE: If you are using nvim-treesitter with ~ensure_installed = "all"~ option
-- add ~org~ to ignore_install
require('nvim-treesitter.configs').setup({
ensure_installed = 'all',
ignore_install = { 'org' },
})
end, end,
} }
+12 -8
View File
@@ -15,7 +15,8 @@
gcc gcc
# c/c++ tools with clang-tools, the unwrapped version won't # c/c++ tools with clang-tools, the unwrapped version won't
# add alias like `cc` and `c++`, so that it won't conflict with gcc # add alias like `cc` and `c++`, so that it won't conflict with gcc
llvmPackages.clang-unwrapped # llvmPackages.clang-unwrapped
clang-tools
lldb lldb
#-- python #-- python
@@ -25,22 +26,25 @@
with ps; [ with ps; [
ruff-lsp ruff-lsp
black # python formatter black # python formatter
# debugpy
# my commonly used python packages
jupyter jupyter
ipython ipython
pandas pandas
requests requests
pyquery pyquery
pyyaml pyyaml
boto3
## emacs's lsp-bridge dependenciesge ## emacs's lsp-bridge dependenciesge
epc # epc
orjson # orjson
sexpdata # sexpdata
six # six
setuptools # setuptools
paramiko # paramiko
rapidfuzz # rapidfuzz
] ]
)) ))
-3
View File
@@ -1,3 +0,0 @@
{myvars, ...}: {
home.homeDirectory = "/Users/${myvars.username}";
}
+6 -1
View File
@@ -1,4 +1,9 @@
{mylib, ...}: { {
mylib,
myvars,
...
}: {
home.homeDirectory = "/Users/${myvars.username}";
imports = imports =
(mylib.scanPaths ./.) (mylib.scanPaths ./.)
++ [ ++ [
+3 -3
View File
@@ -1,7 +1,7 @@
{ {
pkgs, pkgs,
pkgs-unstable, pkgs-unstable,
pkgs-stable, # pkgs-stable,
nur-ryan4yin, nur-ryan4yin,
... ...
}: { }: {
@@ -19,7 +19,7 @@
# kicad # 3d printing, eletrical engineering # kicad # 3d printing, eletrical engineering
# fpga # fpga
pkgs-unstable.python311Packages.apycula # gowin fpga pkgs-unstable.python312Packages.apycula # gowin fpga
pkgs-unstable.yosys # fpga synthesis pkgs-unstable.yosys # fpga synthesis
pkgs-unstable.nextpnr # fpga place and route pkgs-unstable.nextpnr # fpga place and route
pkgs-unstable.openfpgaloader # fpga programming pkgs-unstable.openfpgaloader # fpga programming
@@ -30,7 +30,7 @@
# live streaming # live streaming
obs-studio = { obs-studio = {
enable = true; enable = true;
plugins = with pkgs-stable.obs-studio-plugins; [ plugins = with pkgs.obs-studio-plugins; [
# screen capture # screen capture
wlrobs wlrobs
# obs-ndi # obs-ndi
+1 -1
View File
@@ -68,7 +68,7 @@
"x-scheme-handler/tg" = ["org.telegram.desktop.desktop "]; "x-scheme-handler/tg" = ["org.telegram.desktop.desktop "];
"audio/*" = ["mpv.desktop"]; "audio/*" = ["mpv.desktop"];
"video/*" = ["mpv.dekstop"]; "video/*" = ["mpv.desktop"];
"image/*" = ["imv-dir.desktop"]; "image/*" = ["imv-dir.desktop"];
"image/gif" = ["imv-dir.desktop"]; "image/gif" = ["imv-dir.desktop"];
"image/jpeg" = ["imv-dir.desktop"]; "image/jpeg" = ["imv-dir.desktop"];
@@ -138,6 +138,20 @@ sudo nix --experimental-features "nix-command flakes" run github:nix-community/d
cd ~/nix-config cd ~/nix-config
# install nixos # install nixos
# NOTE: the root password you set here will be discarded when reboot
sudo nixos-install --root /mnt --flake .#rakushun --no-root-password --show-trace --verbose sudo nixos-install --root /mnt --flake .#rakushun --no-root-password --show-trace --verbose
# enter into the installed system, check password & users
# `su ryan` => `sudo -i` => enter ryan's password => successfully login
# if login failed, check the password you set in install-1, and try again
nixos-enter
# NOTE: DO NOT skip this step!!!
# copy the essential files into /persistent
# otherwise the / will be cleared and data will lost
## NOTE: impermanence just create links from / to /persistent
## We need to copy files into /persistent manually!!!
mv /etc/machine-id /persistent/etc/
mv /etc/ssh /persistent/etc/
mkdir -p /persistent/home/ryan
chown -R ryan:ryan /persistent/home/ryan
``` ```
+7
View File
@@ -31,3 +31,10 @@ the services.
TODO: create a private PKI for caddy, to achieve end-to-end encryption between caddy and the TODO: create a private PKI for caddy, to achieve end-to-end encryption between caddy and the
services. services.
## Misc
```bash
# copy closure to another arm64 machine
nix-copy-closure --to root@suzu /run/current-system
```
+13 -1
View File
@@ -1,4 +1,9 @@
{config, ...}: let {
pkgs,
config,
wallpapers,
...
}: let
hostCommonConfig = '' hostCommonConfig = ''
encode zstd gzip encode zstd gzip
tls ${../../certs/ecc-server.crt} ${config.age.secrets."certs/ecc-server.key".path} { tls ${../../certs/ecc-server.crt} ${config.age.secrets."certs/ecc-server.key".path} {
@@ -82,4 +87,11 @@ in {
# directory for virtual machine's images # directory for virtual machine's images
"d /var/lib/caddy/fileserver/vms 0755 caddy caddy" "d /var/lib/caddy/fileserver/vms 0755 caddy caddy"
]; ];
# Add all my wallpapers into /var/lib/caddy/fileserver/wallpapers
# Install the homepage-dashboard configuration files
system.activationScripts.installCaddyWallpapers = ''
mkdir -p /var/lib/caddy/fileserver/wallpapers
${pkgs.rsync}/bin/rsync -avz --chmod=D2755,F644 ${wallpapers}/ /var/lib/caddy/fileserver/wallpapers/
'';
} }
+1 -1
View File
@@ -34,5 +34,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+2 -1
View File
@@ -43,7 +43,8 @@
name = "encrypted"; name = "encrypted";
settings = { settings = {
keyFile = "/dev/disk/by-label/OPI5P_DSC"; # The keyfile is stored on a USB stick keyFile = "/dev/disk/by-label/OPI5P_DSC"; # The keyfile is stored on a USB stick
# The maximum size of the keyfile is 8192 bytes # The maximum size of the keyfile is 8192 KiB
# type `cryptsetup --help` to see the compiled-in key and passphrase maximum sizes
keyFileSize = 512 * 64; # match the `bs * count` of the `dd` command keyFileSize = 512 * 64; # match the `bs * count` of the `dd` command
keyFileOffset = 512 * 128; # match the `bs * skip` of the `dd` command keyFileOffset = 512 * 128; # match the `bs * skip` of the `dd` command
fallbackToPassword = true; fallbackToPassword = true;
+1 -1
View File
@@ -1,6 +1,6 @@
{pkgs, ...}: let {pkgs, ...}: let
in { in {
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/misc/gitea.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/misc/gitea.nix
services.gitea = { services.gitea = {
enable = true; enable = true;
user = "gitea"; user = "gitea";
@@ -1,3 +1 @@
# Homepage for my Homelab # Homepage for my Homelab
> WIP, just a demo for now
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 MiB

@@ -3,12 +3,12 @@
# https://gethomepage.dev/latest/configs/settings # https://gethomepage.dev/latest/configs/settings
title: Ryan Yin's Homelab title: Ryan Yin's Homelab
base: http://home.writefor.fun/ base: https://home.writefor.fun/
favicon: https://thiscute.world/favicon.ico favicon: https://thiscute.world/favicon.ico
# https://developer.mozilla.org/en-US/docs/Web/Manifest/start_url # https://developer.mozilla.org/en-US/docs/Web/Manifest/start_url
# Used by some browsers to determine the start page of the web application # Used by some browsers to determine the start page of the web application
startUrl: http://home.writefor.fun/ startUrl: https://home.writefor.fun/
language: zh language: zh
@@ -20,11 +20,11 @@ providers:
weatherapi: { { HOMEPAGE_VAR_WEATHERAPI_APIKEY } } weatherapi: { { HOMEPAGE_VAR_WEATHERAPI_APIKEY } }
background: background:
image: /images/rolling-girls.png image: https://file.writefor.fun/wallpapers/rolling-girls.png
blur: sm # sm, "", md, xl... see https://tailwindcss.com/docs/backdrop-blur blur: sm # sm, "", md, xl... see https://tailwindcss.com/docs/backdrop-blur
saturate: 50 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate saturate: 90 # 0, 50, 100... see https://tailwindcss.com/docs/backdrop-saturate
brightness: 50 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness brightness: 90 # 0, 50, 75... see https://tailwindcss.com/docs/backdrop-brightness
opacity: 50 # 0-100 opacity: 85 # 0-100
theme: dark # or light theme: dark # or light
@@ -6,7 +6,7 @@
# install -Dm 600 ${./dashy_conf.yml} /etc/dashy/dashy_conf.yml # install -Dm 600 ${./dashy_conf.yml} /etc/dashy/dashy_conf.yml
# ''; # '';
# #
# # https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/virtualisation/oci-containers.nix # # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/virtualisation/oci-containers.nix
# virtualisation.oci-containers.containers = { # virtualisation.oci-containers.containers = {
# # check its logs via `journalctl -u podman-dashy` # # check its logs via `journalctl -u podman-dashy`
# dashy = { # dashy = {
+1 -1
View File
@@ -78,7 +78,7 @@
}; };
}; };
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/prometheus/exporters/v2ray.nix
# https://github.com/wi1dcard/v2ray-exporter # https://github.com/wi1dcard/v2ray-exporter
services.prometheus.exporters.v2ray = { services.prometheus.exporters.v2ray = {
enable = true; enable = true;
+1 -1
View File
@@ -3,7 +3,7 @@
sshKeyPath = "/etc/agenix/ssh-key-for-restic-backup"; sshKeyPath = "/etc/agenix/ssh-key-for-restic-backup";
rcloneConfigFile = "/etc/agenix/rclone-conf-for-restic-backup"; rcloneConfigFile = "/etc/agenix/rclone-conf-for-restic-backup";
in { in {
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/backup/restic.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/backup/restic.nix
services.restic.backups = { services.restic.backups = {
homelab-backup = { homelab-backup = {
inherit passwordFile; inherit passwordFile;
+2 -2
View File
@@ -7,7 +7,7 @@
name = "transmission"; name = "transmission";
in { in {
# the headless Transmission BitTorrent daemon # the headless Transmission BitTorrent daemon
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/torrent/transmission.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/torrent/transmission.nix
# https://wiki.archlinux.org/title/transmission # https://wiki.archlinux.org/title/transmission
services.transmission = { services.transmission = {
enable = true; enable = true;
@@ -81,7 +81,7 @@ in {
lpd-enabled = true; lpd-enabled = true;
# The peer port to listen for incoming connections. # The peer port to listen for incoming connections.
peer-port = 51413; peer-port = 51413;
# Enable UPnP or NAT-PMP to forward a port through your firewall(NAT). # Enable UOnP or NAT-PMP to forward a port through your firewall(NAT).
# https://github.com/transmission/transmission/blob/main/docs/Port-Forwarding-Guide.md # https://github.com/transmission/transmission/blob/main/docs/Port-Forwarding-Guide.md
port-forwarding-enabled = true; port-forwarding-enabled = true;
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/monitoring/uptime-kuma.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/uptime-kuma.nix
services.uptime-kuma = { services.uptime-kuma = {
enable = true; enable = true;
# https://github.com/louislam/uptime-kuma/wiki/Environment-Variables # https://github.com/louislam/uptime-kuma/wiki/Environment-Variables
+1 -1
View File
@@ -11,7 +11,7 @@
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-23.11", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -1,6 +1,6 @@
{ {
# a flake for testing # a flake for testing
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
outputs = {nixpkgs, ...}: let outputs = {nixpkgs, ...}: let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs {inherit system;}; pkgs = import nixpkgs {inherit system;};
+1 -1
View File
@@ -38,5 +38,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
@@ -37,6 +37,7 @@
"ntfs" "ntfs"
"fat" "fat"
"vfat" "vfat"
"exfat"
]; ];
# clear /tmp on boot to get a stateless /tmp directory. # clear /tmp on boot to get a stateless /tmp directory.
+15 -1
View File
@@ -137,6 +137,20 @@ sudo nix --experimental-features "nix-command flakes" run github:nix-community/d
cd ~/nix-config cd ~/nix-config
# install nixos # install nixos
# NOTE: the root password you set here will be discarded when reboot
sudo nixos-install --root /mnt --flake .#suzu --no-root-password --show-trace --verbose sudo nixos-install --root /mnt --flake .#suzu --no-root-password --show-trace --verbose
# enter into the installed system, check password & users
# `su ryan` => `sudo -i` => enter ryan's password => successfully login
# if login failed, check the password you set in install-1, and try again
nixos-enter
# NOTE: DO NOT skip this step!!!
# copy the essential files into /persistent
# otherwise the / will be cleared and data will lost
## NOTE: impermanence just create links from / to /persistent
## We need to copy files into /persistent manually!!!
mv /etc/machine-id /persistent/etc/
mv /etc/ssh /persistent/etc/
mkdir -p /persistent/home/ryan
chown -R ryan:ryan /persistent/home/ryan
``` ```
+1 -1
View File
@@ -30,5 +30,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+2 -1
View File
@@ -43,7 +43,8 @@
name = "encrypted"; name = "encrypted";
settings = { settings = {
keyFile = "/dev/disk/by-label/OPI5_DSC"; # The keyfile is stored on a USB stick keyFile = "/dev/disk/by-label/OPI5_DSC"; # The keyfile is stored on a USB stick
# The maximum size of the keyfile is 8192 bytes # The maximum size of the keyfile is 8192 KiB
# type `cryptsetup --help` to see the compiled-in key and passphrase maximum sizes
keyFileSize = 512 * 64; # match the `bs * count` of the `dd` command keyFileSize = 512 * 64; # match the `bs * count` of the `dd` command
keyFileOffset = 512 * 128; # match the `bs * skip` of the `dd` command keyFileOffset = 512 * 128; # match the `bs * skip` of the `dd` command
fallbackToPassword = true; fallbackToPassword = true;
@@ -63,5 +63,5 @@
socket = "control.socket"; socket = "control.socket";
}; };
system.stateVersion = "23.11"; system.stateVersion = "24.05";
} }
@@ -21,7 +21,7 @@
# which is already persistent across reboots(via impermanence.nix) # which is already persistent across reboots(via impermanence.nix)
# #
# References: # References:
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/networking/tailscale.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/networking/tailscale.nix
# #
# ============================================================= # =============================================================
{ {
@@ -66,5 +66,5 @@
socket = "control.socket"; socket = "control.socket";
}; };
system.stateVersion = "23.11"; system.stateVersion = "24.05";
} }
@@ -37,7 +37,7 @@ in {
nat.enable = false; nat.enable = false;
firewall.enable = false; firewall.enable = false;
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/networking/nftables.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/networking/nftables.nix
nftables = { nftables = {
enable = true; enable = true;
# Check the applied rules with `nft -a list ruleset`. # Check the applied rules with `nft -a list ruleset`.
@@ -164,7 +164,7 @@ in {
}; };
# monitoring with prometheus # monitoring with prometheus
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/prometheus/exporters/dnsmasq.nix
services.prometheus.exporters.dnsmasq = { services.prometheus.exporters.dnsmasq = {
enable = true; enable = true;
listenAddress = "0.0.0.0"; listenAddress = "0.0.0.0";
+5 -2
View File
@@ -20,7 +20,9 @@ in {
inherit hostName; inherit hostName;
inherit (myvars.networking) defaultGateway nameservers; inherit (myvars.networking) defaultGateway nameservers;
inherit (myvars.networking.hostsInterface.${hostName}) interfaces; inherit (myvars.networking.hostsInterface.${hostName}) interfaces;
networkmanager.enable = false;
# desktop need its cli for status bar
networkmanager.enable = true;
}; };
# conflict with feature: containerd-snapshotter # conflict with feature: containerd-snapshotter
@@ -30,6 +32,7 @@ in {
services.xserver.videoDrivers = ["nvidia"]; # will install nvidia-vaapi-driver by default services.xserver.videoDrivers = ["nvidia"]; # will install nvidia-vaapi-driver by default
hardware.nvidia = { hardware.nvidia = {
# Optionally, you may need to select the appropriate driver version for your specific GPU. # Optionally, you may need to select the appropriate driver version for your specific GPU.
# https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/os-specific/linux/nvidia-x11/default.nix
# package = config.boot.kernelPackages.nvidiaPackages.stable; # package = config.boot.kernelPackages.nvidiaPackages.stable;
# required by most wayland compositors! # required by most wayland compositors!
@@ -52,5 +55,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
@@ -40,6 +40,7 @@
"ntfs" "ntfs"
"fat" "fat"
"vfat" "vfat"
"exfat"
]; ];
boot.initrd = { boot.initrd = {
+1 -1
View File
@@ -34,5 +34,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+1 -1
View File
@@ -41,5 +41,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+1 -1
View File
@@ -43,5 +43,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+5 -2
View File
@@ -50,10 +50,11 @@ sudo nix run --experimental-features "nix-command flakes" 'github:nix-community/
## 1. partition & format the disk via disko ## 1. partition & format the disk via disko
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko hosts/k8s/disko-config/kukubevirt-disko-fs.nix sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko hosts/k8s/disko-config/kukubevirt-disko-fs.nix
## 2. install nixos ## 2. install nixos
# NOTE: the root password you set here will be discarded when reboot
sudo nixos-install --root /mnt --no-root-password --show-trace --verbose --flake .#kubevirt-shoryu sudo nixos-install --root /mnt --no-root-password --show-trace --verbose --flake .#kubevirt-shoryu
# move the essential files into /persistent # enter into the installed system, check password & users
# `su ryan` => `sudo -i` => enter ryan's password => successfully login
# if login failed, check the password you set in install-1, and try again
nixos-enter nixos-enter
# NOTE: DO NOT skip this step!!! # NOTE: DO NOT skip this step!!!
@@ -63,4 +64,6 @@ nixos-enter
## We need to copy files into /persistent manually!!! ## We need to copy files into /persistent manually!!!
mv /etc/machine-id /persistent/etc/ mv /etc/machine-id /persistent/etc/
mv /etc/ssh /persistent/etc/ mv /etc/ssh /persistent/etc/
mkdir -p /persistent/home/ryan
chown -R ryan:ryan /persistent/home/ryan
``` ```
+2 -1
View File
@@ -49,7 +49,8 @@
name = "encrypted"; name = "encrypted";
settings = { settings = {
keyFile = "/dev/disk/by-label/NIXOS_DSC"; # The keyfile is stored on a USB stick keyFile = "/dev/disk/by-label/NIXOS_DSC"; # The keyfile is stored on a USB stick
# The maximum size of the keyfile is 8192 bytes # The maximum size of the keyfile is 8192 KiB
# type `cryptsetup --help` to see the compiled-in key and passphrase maximum sizes
keyFileSize = 512 * 64; # match the `bs * count` of the `dd` command keyFileSize = 512 * 64; # match the `bs * count` of the `dd` command
keyFileOffset = 512 * 128; # match the `bs * skip` of the `dd` command keyFileOffset = 512 * 128; # match the `bs * skip` of the `dd` command
fallbackToPassword = true; fallbackToPassword = true;
+1 -1
View File
@@ -40,5 +40,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+1 -1
View File
@@ -99,5 +99,5 @@ in {
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment? system.stateVersion = "24.05"; # Did you read the comment?
} }
+2 -9
View File
@@ -9,7 +9,7 @@
specialArgs ? (genSpecialArgs system), specialArgs ? (genSpecialArgs system),
... ...
}: let }: let
inherit (inputs) nixpkgs home-manager nix-darwin; inherit (inputs) nixpkgs-darwin home-manager nix-darwin;
in in
nix-darwin.lib.darwinSystem { nix-darwin.lib.darwinSystem {
inherit system specialArgs; inherit system specialArgs;
@@ -17,14 +17,7 @@ in
darwin-modules darwin-modules
++ [ ++ [
({lib, ...}: { ({lib, ...}: {
nixpkgs.pkgs = import nixpkgs {inherit system;}; nixpkgs.pkgs = import nixpkgs-darwin {inherit system;};
# make `nix run nixpkgs#nixpkgs` use the same nixpkgs as the one used by this flake.
nix.registry.nixpkgs.flake = nixpkgs;
environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}";
# make `nix repl '<nixpkgs>'` use the same nixpkgs as the one used by this flake.
# discard all the default paths, and only use the one from this flake.
nix.nixPath = lib.mkForce ["/etc/nix/inputs"];
}) })
] ]
++ ( ++ (
+8 -1
View File
@@ -15,6 +15,10 @@
../certs/ecc-ca.crt ../certs/ecc-ca.crt
]; ];
# auto upgrade nix to the unstable version
# https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/tools/package-management/nix/default.nix#L284
nix.package = pkgs.nixVersions.latest;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git # used by nix flakes git # used by nix flakes
git-lfs # used by huggingface models git-lfs # used by huggingface models
@@ -23,7 +27,7 @@
zip zip
xz xz
zstd zstd
unzip unzipNLS
p7zip p7zip
# Text Processing # Text Processing
@@ -95,11 +99,14 @@
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
# my own cache server # my own cache server
"https://ryan4yin.cachix.org" "https://ryan4yin.cachix.org"
# cuda-maintainer's cache server
"https://cuda-maintainers.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"ryan4yin.cachix.org-1:Gbk27ZU5AYpGS9i3ssoLlwdvMIh0NxG0w8it/cv9kbU=" "ryan4yin.cachix.org-1:Gbk27ZU5AYpGS9i3ssoLlwdvMIh0NxG0w8it/cv9kbU="
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
]; ];
builders-use-substitutes = true; builders-use-substitutes = true;
}; };
+15 -4
View File
@@ -1,4 +1,8 @@
{pkgs, ...}: { {
lib,
nixpkgs,
...
}: {
################################################################################### ###################################################################################
# #
# Core configuration for nix-darwin # Core configuration for nix-darwin
@@ -7,7 +11,7 @@
# https://daiderd.com/nix-darwin/manual/index.html#sec-options # https://daiderd.com/nix-darwin/manual/index.html#sec-options
# #
# History Issues: # History Issues:
# 1. Fixed by replace the determinated nix-installer by the official one: # 1. Fixed by replace the determined nix-installer by the official one:
# https://github.com/LnL7/nix-darwin/issues/149#issuecomment-1741720259 # https://github.com/LnL7/nix-darwin/issues/149#issuecomment-1741720259
# #
################################################################################### ###################################################################################
@@ -15,9 +19,8 @@
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
# Auto upgrade nix package and the daemon service. # Auto upgrade the nix-daemon service.
services.nix-daemon.enable = true; services.nix-daemon.enable = true;
nix.package = pkgs.nix;
# Disable auto-optimise-store because of this issue: # Disable auto-optimise-store because of this issue:
# https://github.com/NixOS/nix/issues/7273 # https://github.com/NixOS/nix/issues/7273
@@ -25,4 +28,12 @@
nix.settings.auto-optimise-store = false; nix.settings.auto-optimise-store = false;
nix.gc.automatic = false; nix.gc.automatic = false;
# make `nix run nixpkgs#nixpkgs` use the same nixpkgs as the one used by this flake.
nix.registry.nixpkgs.flake = nixpkgs;
environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}";
# make `nix repl '<nixpkgs>'` use the same nixpkgs as the one used by this flake.
# discard all the default paths, and only use the one from this flake.
nix.nixPath = lib.mkForce ["/etc/nix/inputs"];
} }
+3 -3
View File
@@ -13,7 +13,7 @@
# 1. To avoid conflicts with neovim, disable ctrl + up/down/left/right to switch spaces in: # 1. To avoid conflicts with neovim, disable ctrl + up/down/left/right to switch spaces in:
# [System Preferences] -> [Keyboard] -> [Keyboard Shortcuts] -> [Mission Control] # [System Preferences] -> [Keyboard] -> [Keyboard Shortcuts] -> [Mission Control]
# 2. Disable use Caps Lock as 中/英 switch in: # 2. Disable use Caps Lock as 中/英 switch in:
# [System Preferences] -> [Keyboard] -> [Input Sources] -> [Edit] -> [Use 中/英 key to switch ] -> [Disble] # [System Preferences] -> [Keyboard] -> [Input Sources] -> [Edit] -> [Use 中/英 key to switch ] -> [Disable]
################################################################################### ###################################################################################
{ {
# Add ability to used TouchID for sudo authentication # Add ability to used TouchID for sudo authentication
@@ -118,7 +118,7 @@
DSDontWriteUSBStores = true; DSDontWriteUSBStores = true;
}; };
"com.apple.spaces" = { "com.apple.spaces" = {
"spans-displays" = 0; # Display have seperate spaces "spans-displays" = 0; # Display have separate spaces
}; };
"com.apple.WindowManager" = { "com.apple.WindowManager" = {
EnableStandardClickToShowDesktop = 0; # Click wallpaper to reveal desktop EnableStandardClickToShowDesktop = 0; # Click wallpaper to reveal desktop
@@ -202,7 +202,7 @@
source-han-serif # 思源宋体 source-han-serif # 思源宋体
# nerdfonts # nerdfonts
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/data/fonts/nerdfonts/shas.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/data/fonts/nerdfonts/shas.nix
(nerdfonts.override { (nerdfonts.override {
fonts = [ fonts = [
# symbols icon only # symbols icon only
+1 -22
View File
@@ -1,34 +1,13 @@
{ {
pkgs,
config, config,
lib,
myvars, myvars,
pkgs-unstable,
... ...
}: let }: let
homeDir = config.users.users."${myvars.username}".home; homeDir = config.users.users."${myvars.username}".home;
in { in {
# https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/os-specific/darwin/yabai/default.nix # https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/by-name/ya/yabai/package.nix
services.yabai = { services.yabai = {
enable = true; enable = true;
# temporary workaround for https://github.com/ryan4yin/nix-config/issues/51
package = pkgs-unstable.yabai.overrideAttrs (oldAttrs: rec {
version = "6.0.7";
src =
if pkgs.stdenv.isAarch64
then
(pkgs.fetchzip {
url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
hash = "sha256-hZMBXSCiTlx/37jt2yLquCQ8AZ2LS3heIFPKolLub1c=";
})
else
(pkgs.fetchFromGitHub {
owner = "koekeishiya";
repo = "yabai";
rev = "v${version}";
hash = "sha256-vWL2KA+Rhj78I2J1kGItJK+OdvhVo1ts0NoOHIK65Hg=";
});
});
# Whether to enable yabai's scripting-addition. # Whether to enable yabai's scripting-addition.
# SIP must be disabled for this to work. # SIP must be disabled for this to work.
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
# enable the node exporter on all nixos hosts # enable the node exporter on all nixos hosts
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/monitoring/prometheus/exporters/node.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/prometheus/exporters/node.nix
services.prometheus.exporters.node = { services.prometheus.exporters.node = {
enable = true; enable = true;
listenAddress = "0.0.0.0"; listenAddress = "0.0.0.0";
-8
View File
@@ -17,13 +17,5 @@
# https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store # https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
nix.settings.auto-optimise-store = true; nix.settings.auto-optimise-store = true;
# make `nix run nixpkgs#nixpkgs` use the same nixpkgs as the one used by this flake.
nix.registry.nixpkgs.flake = nixpkgs;
nix.channel.enable = false; # remove nix-channel related tools & configs, we use flakes instead. nix.channel.enable = false; # remove nix-channel related tools & configs, we use flakes instead.
# but NIX_PATH is still used by many useful tools, so we set it to the same value as the one used by this flake.
# Make `nix repl '<nixpkgs>'` use the same nixpkgs as the one used by this flake.
environment.etc."nix/inputs/nixpkgs".source = "${nixpkgs}";
# https://github.com/NixOS/nix/issues/9574
nix.settings.nix-path = lib.mkForce "nixpkgs=/etc/nix/inputs/nixpkgs";
} }
+1 -1
View File
@@ -23,6 +23,6 @@
}; };
# Add terminfo database of all known terminals to the system profile. # Add terminfo database of all known terminals to the system profile.
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/config/terminfo.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/config/terminfo.nix
environment.enableAllTerminfo = true; environment.enableAllTerminfo = true;
} }
+1 -1
View File
@@ -25,7 +25,7 @@
source-han-serif # 思源宋体 source-han-serif # 思源宋体
# nerdfonts # nerdfonts
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/pkgs/data/fonts/nerdfonts/shas.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/pkgs/data/fonts/nerdfonts/shas.nix
(nerdfonts.override { (nerdfonts.override {
fonts = [ fonts = [
# symbols icon only # symbols icon only
@@ -3,11 +3,11 @@
mylib, mylib,
... ...
}: { }: {
imports = mylib.scanPaths ./.; # imports = mylib.scanPaths ./.;
#
environment.systemPackages = with pkgs; [ # environment.systemPackages = with pkgs; [
waypipe # waypipe
moonlight-qt # moonlight client, for streaming games/desktop from a PC # moonlight-qt # moonlight client, for streaming games/desktop from a PC
rustdesk # p2p remote desktop # rustdesk # p2p remote desktop
]; # ];
} }
@@ -25,7 +25,7 @@
# which is already persistent across reboots(via impermanence.nix) # which is already persistent across reboots(via impermanence.nix)
# #
# References: # References:
# https://github.com/NixOS/nixpkgs/blob/nixos-23.11/nixos/modules/services/networking/tailscale.nix # https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/networking/tailscale.nix
# #
# ============================================================= # =============================================================
{ {
+1 -1
View File
@@ -18,5 +18,5 @@
networkmanager.enable = true; networkmanager.enable = true;
defaultGateway = "192.168.5.101"; defaultGateway = "192.168.5.101";
}; };
system.stateVersion = "23.11"; system.stateVersion = "24.05";
} }
+1 -1
View File
@@ -40,7 +40,7 @@
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-23.11", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
+1 -1
View File
@@ -2,7 +2,7 @@
description = "NixOS configuration of Ryan Yin"; description = "NixOS configuration of Ryan Yin";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
}; };
+5 -5
View File
@@ -21,11 +21,11 @@
# To use chrome, we need to allow the installation of non-free software # To use chrome, we need to allow the installation of non-free software
config.allowUnfree = true; config.allowUnfree = true;
}; };
pkgs-stable = import inputs.nixpkgs-stable { # pkgs-stable = import inputs.nixpkgs-stable {
inherit system; # inherit system;
# To use chrome, we need to allow the installation of non-free software # # To use chrome, we need to allow the installation of non-free software
config.allowUnfree = true; # config.allowUnfree = true;
}; # };
}; };
# This is the args for all the haumea modules in this folder. # This is the args for all the haumea modules in this folder.
+42 -25
View File
@@ -4,39 +4,56 @@
https://github.com/NixOS/nix/issues/1472#issuecomment-1532955973 https://github.com/NixOS/nix/issues/1472#issuecomment-1532955973
""" """
import os import os
import plistlib import plistlib
import shlex import shlex
import subprocess import subprocess
from pathlib import Path from pathlib import Path
NIX_DAEMON_PLIST = Path("/Library/LaunchDaemons/org.nixos.nix-daemon.plist") NIX_DAEMON_PLIST = Path("/Library/LaunchDaemons/org.nixos.nix-daemon.plist")
NIX_DAEMON_NAME = "org.nixos.nix-daemon" NIX_DAEMON_NAME = "org.nixos.nix-daemon"
# http proxy provided by my homelab's bypass router # http proxy provided by my homelab's bypass router
HTTP_PROXY = "http://192.168.5.103:7890" HTTP_PROXY = "http://192.168.5.179:7890"
pl = plistlib.loads(NIX_DAEMON_PLIST.read_bytes()) PLIST = plistlib.loads(NIX_DAEMON_PLIST.read_bytes())
# set http/https proxy
# NOTE: curl only accept the lowercase of `http_proxy`! def update_plist():
# NOTE: https://curl.se/libcurl/c/libcurl-env.html os.chmod(NIX_DAEMON_PLIST, 0o644)
# pl["EnvironmentVariables"]["http_proxy"] = HTTP_PROXY NIX_DAEMON_PLIST.write_bytes(plistlib.dumps(PLIST))
# pl["EnvironmentVariables"]["https_proxy"] = HTTP_PROXY os.chmod(NIX_DAEMON_PLIST, 0o444)
# remove http proxy
pl["EnvironmentVariables"].pop("http_proxy", None) def reload_daemon():
pl["EnvironmentVariables"].pop("https_proxy", None) # reload the plist
for cmd in (
os.chmod(NIX_DAEMON_PLIST, 0o644)
NIX_DAEMON_PLIST.write_bytes(plistlib.dumps(pl))
os.chmod(NIX_DAEMON_PLIST, 0o444)
# reload the plist
for cmd in (
f"launchctl unload {NIX_DAEMON_PLIST}", f"launchctl unload {NIX_DAEMON_PLIST}",
f"launchctl load {NIX_DAEMON_PLIST}", f"launchctl load {NIX_DAEMON_PLIST}",
): ):
print(cmd) print(cmd)
subprocess.run(shlex.split(cmd), capture_output=False) subprocess.run(shlex.split(cmd), capture_output=False)
def set_proxy():
# set http/https proxy
# NOTE: curl only accept the lowercase of `http_proxy`!
# NOTE: https://curl.se/libcurl/c/libcurl-env.html
PLIST["EnvironmentVariables"]["http_proxy"] = HTTP_PROXY
PLIST["EnvironmentVariables"]["https_proxy"] = HTTP_PROXY
update_plist()
reload_daemon()
def unset_proxy():
# remove http proxy
PLIST["EnvironmentVariables"].pop("http_proxy", None)
PLIST["EnvironmentVariables"].pop("https_proxy", None)
update_plist()
reload_daemon()
if __name__ == "__main__":
# set_proxy()
unset_proxy()
+7 -1
View File
@@ -30,7 +30,13 @@ This task is accomplished using the [agenix](https://github.com/ryantm/agenix) C
To use agenix temporarily, run: To use agenix temporarily, run:
```bash ```bash
nix shell nixpkgs#agenix nix shell github:ryantm/agenix#agenix
```
or agenix provided by ragenix, run:
```bash
nix shell github:ryan4yin/ragenix#ragenix
``` ```
Suppose you want to add a new secret file `xxx.age`. Follow these steps: Suppose you want to add a new secret file `xxx.age`. Follow these steps:
+1 -1
View File
@@ -54,7 +54,7 @@ export def darwin-rollback [] {
./result/sw/bin/darwin-rebuild --rollback ./result/sw/bin/darwin-rebuild --rollback
} }
# ==================== Virutal Machines related ===================== # ==================== Virtual Machines related =====================
# Build and upload a VM image # Build and upload a VM image
export def upload-vm [ export def upload-vm [