Compare commits

...

37 commits

Author SHA1 Message Date
f465562720
(wip) nixos/nix: disable unwanted options 2024-07-07 23:03:34 +08:00
abe59b02a3
(wip) hosts/aristotle: support external output 2024-07-07 23:03:33 +08:00
1f9bdbca72
home/sway: new wallpaper 2024-07-07 23:03:33 +08:00
fc9ca7f1df
home/foot: fix sway floating mode 2024-07-07 23:03:33 +08:00
5970d4ac0a
flake: update lock file 2024-07-07 23:03:33 +08:00
691dd30e86
(wip) flake: switch to self-hosted git 2024-07-07 23:03:32 +08:00
7068057406
home: switch to tmux 2024-07-07 23:03:32 +08:00
7f1e108293
(wip) blacksteel: add external drive 2024-07-07 23:03:32 +08:00
4074357178
home: add jq 2024-07-07 23:03:32 +08:00
7663238d87
git: enable push.autoSetupRemote 2024-07-07 23:03:32 +08:00
ae7c690fe1
bat: don't set as pager 2024-07-07 23:03:32 +08:00
d3bb3d3d15
home/fcitx5: use qt6 version
:(
qtwebengine: 5.15.17 → 6.7.2, +156144.3 KiB
2024-07-07 23:03:31 +08:00
e09f95921d
flake: update lock file 2024-07-07 23:03:31 +08:00
4092bd105b
secrets: update access token 2024-07-07 23:03:31 +08:00
cb8d0f3995
home/nix: update tooling 2024-07-07 23:03:31 +08:00
855099c3c6
flake: update lock file 2024-07-07 23:03:31 +08:00
724f4b443d
home: avoid xresources 2024-07-07 23:03:31 +08:00
045bf55f6c
flake: update lock file 2024-07-07 23:03:30 +08:00
4055e7432a
home/{firefox,thunderbird}: remove ifd 2024-07-07 23:03:30 +08:00
f48525552d
scripts: runCommandNoCCLocal -> runCommandLocal 2024-07-07 23:03:30 +08:00
d2babea88d
scripts: add meta.mainProgram 2024-07-07 23:03:30 +08:00
b1f18fef38
home: alacritty -> foot 2024-07-07 23:03:30 +08:00
6626a9e174
overlays: drop prismlauncher offline mode 2024-07-07 23:03:29 +08:00
2e80ded63b
home/gtk: fix font on gnome 2024-07-07 23:03:29 +08:00
c4a2d05bf4
nixos: frp -> cloudflared 2024-07-07 23:03:29 +08:00
d081798ded
scripts: use makeScope 2024-07-07 23:03:29 +08:00
a5103666f1
home/starship: remove ifd 2024-07-07 23:03:29 +08:00
26d0df9748
home/mpv: revert wrapper workaround 2024-07-07 23:03:28 +08:00
e9200310c9
fixup! treewide: remove unused files 2024-07-07 23:03:28 +08:00
5bcab213fc
flake: add devShells 2024-07-07 23:03:28 +08:00
1097ed7242
nixos: dont use keycloak master realm 2024-07-07 23:03:28 +08:00
0dda3e5395
home: remove colorschemes 2024-07-07 23:03:28 +08:00
c9dae1ddec
flake: update lock file 2024-07-07 23:03:28 +08:00
0f4ddb8924
fixup! nixos: mark ifd as fixme 2024-07-07 23:03:27 +08:00
301d91ec13
nixos/frp: don't expose secrets 2024-07-07 23:03:27 +08:00
ad037b6f6a
blacksteel/matrix-synapse: use unix socket 2024-07-07 23:03:27 +08:00
a4f013938e
nixos: use cloudflare cdn 2024-07-07 23:03:25 +08:00
45 changed files with 425 additions and 557 deletions

View file

@ -5,7 +5,6 @@
... ...
}: { }: {
imports = map (n: ../../../../home/applications/${n}) [ imports = map (n: ../../../../home/applications/${n}) [
"alacritty"
"go" "go"
"mpv" "mpv"
"nix" "nix"
@ -32,11 +31,4 @@
dockutil dockutil
gawk gawk
]; ];
# macOS don't have fontconfig
programs = let
monospace = "JetBrainsMono Nerd Font";
in {
alacritty.settings.font.normal.family = monospace;
};
} }

View file

@ -21,6 +21,7 @@
skhd = { skhd = {
enable = true; enable = true;
skhdConfig = '' skhdConfig = ''
# FIXME
cmd - return : open -n ${pkgs.alacritty}/Applications/Alacritty.app cmd - return : open -n ${pkgs.alacritty}/Applications/Alacritty.app
cmd - 1 : yabai -m space --focus 1 # Focus space cmd - 1 : yabai -m space --focus 1 # Focus space

View file

@ -10,11 +10,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717970544, "lastModified": 1720211568,
"narHash": "sha256-YX43aaegfqjXaZ3S+z0JI7SKOEE1Afqm/I9FBIezJ7A=", "narHash": "sha256-Uph6rcbiuOD6bGEySonDFozdO+mznTug08x27WG4BIg=",
"owner": "ezKEa", "owner": "ezKEa",
"repo": "aagl-gtk-on-nix", "repo": "aagl-gtk-on-nix",
"rev": "85c380e4e80fbc21d25165626ad2897cbb11af4d", "rev": "ce7e02b20fe45425bbdbebc6fe0fdcc018c9efc6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -23,29 +23,6 @@
"type": "github" "type": "github"
} }
}, },
"berberman": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nvfetcher": [
"nvfetcher"
]
},
"locked": {
"lastModified": 1718252558,
"narHash": "sha256-Yph5ocpdI3a1Ib+V9BQ4/0YyO4UVn8J0WeAvOLYGaGk=",
"owner": "berberman",
"repo": "flakes",
"rev": "73949fb5964f243ff9c28887bfc99c2fe12407c3",
"type": "github"
},
"original": {
"owner": "berberman",
"repo": "flakes",
"type": "github"
}
},
"crane": { "crane": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -53,11 +30,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718078026, "lastModified": 1720226507,
"narHash": "sha256-LbQabH6h86ZzTvDnaZHmMwedRZNB2jYtUQzmoqWQoJ8=", "narHash": "sha256-yHVvNsgrpyNTXZBEokL8uyB2J6gB1wEx0KOJzoeZi1A=",
"owner": "ipetkov", "owner": "ipetkov",
"repo": "crane", "repo": "crane",
"rev": "a3f0c63eed74a516298932b9b1627dd80b9c3892", "rev": "0aed560c5c0a61c9385bddff471a13036203e11c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -73,11 +50,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718242063, "lastModified": 1720056646,
"narHash": "sha256-n3AWItJ4a94GT0cray/eUV7tt3mulQ52L+lWJN9d1E8=", "narHash": "sha256-BymcV4HWtx2VFuabDCM4/nEJcfivCx0S02wUCz11mAY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "832a9f2c81ff3485404bd63952eadc17bf7ccef2", "rev": "64679cd7f318c9b6595902b47d4585b1d51d5f9e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -108,11 +85,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717285511, "lastModified": 1719994518,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -168,11 +145,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718243258, "lastModified": 1720327769,
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=", "narHash": "sha256-kAsg3Lg4YKKpGw+f1W2s5hzjP8B0y/juowvjK8utIag=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3", "rev": "6b7ce96f34b324e4e104abc30d06955d216bac71",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -183,11 +160,11 @@
}, },
"impermanence": { "impermanence": {
"locked": { "locked": {
"lastModified": 1717932370, "lastModified": 1719091691,
"narHash": "sha256-7C5lCpiWiyPoIACOcu2mukn/1JRtz6HC/1aEMhUdcw0=", "narHash": "sha256-AxaLX5cBEcGtE02PeGsfscSb/fWMnyS7zMWBXQWDKbE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "27979f1c3a0d3b9617a3563e2839114ba7d48d3f", "rev": "23c1f06316b67cb5dabdfe2973da3785cfe9c34a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -221,11 +198,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718218065, "lastModified": 1719818887,
"narHash": "sha256-fKC7Ryg3AYykDrS2ilS1VqA8/9B2m3yFZcshK+7tIEc=", "narHash": "sha256-Bogl1pJlgby7OpR16jp8zwOWV7FHRxCsnNxHcisyIq0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lanzaboote", "repo": "lanzaboote",
"rev": "7cb05fab896bd542c0ca4260d74d9d664cd7b56e", "rev": "0e6457c98547ec8866714d4222545e7e8c1ae429",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -250,17 +227,17 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1712745718, "lastModified": 1718491861,
"narHash": "sha256-pAPGjjPEC5Y3DeuqSlDgFRPAZStA1doWowOvmPY7jvk=", "narHash": "sha256-nnKZRkwXoCtGN8Rgv6FcHttX1JOPWQt2y7yY4Bz/hWk=",
"owner": "Guanran928", "ref": "refs/heads/master",
"repo": "nvim", "rev": "49f55400d06fa113e4b4ae5a6fa97a6d83c59983",
"rev": "3fbc02368d9d554ac2918e48112fbc25957fb03a", "revCount": 64,
"type": "github" "type": "git",
"url": "https://git.ny4.dev/nyancat/nvim"
}, },
"original": { "original": {
"owner": "Guanran928", "type": "git",
"repo": "nvim", "url": "https://git.ny4.dev/nyancat/nvim"
"type": "github"
} }
}, },
"nix-darwin": { "nix-darwin": {
@ -270,11 +247,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718345812, "lastModified": 1720337362,
"narHash": "sha256-FJhA+YFsOFrAYe6EaiTEfomNf7jeURaPiG5/+a3DRSc=", "narHash": "sha256-9TNQtlwu97NPaJYsKkdObOsy0MLN4NAOBz0pqwH3KnA=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "ff988d78f2f55641efacdf9a585d2937f7e32a9b", "rev": "0f89b73f41eaa1dde67b291452c181d9a75f10dd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -352,11 +329,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718401149, "lastModified": 1720301939,
"narHash": "sha256-THXbbmhDZjEnc+372GYl3JpXKkkuo7nhShv66Reklsk=", "narHash": "sha256-yP2+IPhcUscJbwbuAaHQRAIKrrnF1ePQBwwzGFlfqmE=",
"owner": "jacekszymanski", "owner": "jacekszymanski",
"repo": "nixcasks", "repo": "nixcasks",
"rev": "d35924a6bd7c8a34f31e885754a5564ea06ab833", "rev": "b3ebbbc306d051edb9bc2fa9dc791dabfd3d106b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -367,11 +344,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1718349360, "lastModified": 1719895800,
"narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=", "narHash": "sha256-xNbjISJTFailxass4LmdWeV4jNhAlmJPwj46a/GxE6M=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6", "rev": "6e253f12b1009053eff5344be5e835f604bb64cd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -397,11 +374,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1718276985, "lastModified": 1720181791,
"narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=", "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3f84a279f1a6290ce154c5531378acc827836fbb", "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -413,11 +390,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1718229064, "lastModified": 1719957072,
"narHash": "sha256-ZFav8A9zPNfjZg/wrxh1uZeMJHELRfRgFP+meq01XYk=", "narHash": "sha256-gvFhEf5nszouwLAkT9nWsDzocUTqLWHuL++dvNjMp9I=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44", "rev": "7144d6241f02d171d25fba3edeaf15e0f2592105",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -468,11 +445,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1718400242, "lastModified": 1720352738,
"narHash": "sha256-gLX2eyWb8lVxwI5Uv0F5WKb+YwvlDYnI+sSQB2xMqhw=", "narHash": "sha256-S/FwaFfzUaGv81QxJJFWbrWhAAlR+L3S5i2MIujqmcE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "d50ea2706590f0edce9f49d8990dbcf82cdb66ec", "rev": "18a4856920ac463d8ed386d9830a7742e2cf2c2c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -481,32 +458,6 @@
"type": "github" "type": "github"
} }
}, },
"nvfetcher": {
"inputs": {
"flake-compat": [
"flake-compat"
],
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1718252448,
"narHash": "sha256-xZZBdKqe1ByITzvx65pVgGQ5jeb73MybjgrcfI84lEo=",
"owner": "berberman",
"repo": "nvfetcher",
"rev": "fa7609950023462c6f91c425de7610c0bb6b86ba",
"type": "github"
},
"original": {
"owner": "berberman",
"repo": "nvfetcher",
"type": "github"
}
},
"pre-commit-hooks-nix": { "pre-commit-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
@ -523,11 +474,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717664902, "lastModified": 1719259945,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -539,7 +490,6 @@
"root": { "root": {
"inputs": { "inputs": {
"aagl": "aagl", "aagl": "aagl",
"berberman": "berberman",
"crane": "crane", "crane": "crane",
"disko": "disko", "disko": "disko",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -561,7 +511,6 @@
"nmd": "nmd", "nmd": "nmd",
"nmt": "nmt", "nmt": "nmt",
"nur": "nur", "nur": "nur",
"nvfetcher": "nvfetcher",
"pre-commit-hooks-nix": "pre-commit-hooks-nix", "pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay", "rust-overlay": "rust-overlay",
"scss-reset": "scss-reset", "scss-reset": "scss-reset",
@ -573,19 +522,16 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"flake-utils": [
"flake-utils"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1718331519, "lastModified": 1720318855,
"narHash": "sha256-6Ru37wS8uec626nHVIh6hSpCYB7eNc3RPFa2U//bhw4=", "narHash": "sha256-w3CCVK9LJ5aznXGkO1IyAlbvMNJfyA+dBF7Z1Zwx1LA=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "419e7fae2731f41dd9b3e34dfe8802be68558b92", "rev": "3eed08a074cd2000884a69d448d70da2843f7103",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -620,11 +566,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718137936, "lastModified": 1720321395,
"narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=", "narHash": "sha256-kcI8q9Nh8/CSj0ygfWq1DLckHl8IHhFarL8ie6g7OEk=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "c279dec105dd53df13a5e57525da97905cc0f0d6", "rev": "c184aca4db5d71c3db0c8cbfcaaec337a5d065ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -640,11 +586,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718239576, "lastModified": 1720190661,
"narHash": "sha256-Afdz9oCQf8VCGXUhI8KxdJg9gc+fepZK//mYsijfhFw=", "narHash": "sha256-51aPk6VqCSEuQeGvi/j5pdRyx8UxvqBeph+sXsj94EU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "srvos", "repo": "srvos",
"rev": "d6280e5c12c4ddb26f0807387777786c66e4c552", "rev": "27dbc690931cc30f2c4bb2ff39e46490c3b6421d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -675,11 +621,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718271476, "lastModified": 1719887753,
"narHash": "sha256-35hUMmFesmchb+u7heKHLG5B6c8fBOcSYo0jj0CHLes=", "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "e75ba0a6bb562d2ce275db28f6a36a2e4fd81391", "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -15,11 +15,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-compat.follows = "flake-compat"; inputs.flake-compat.follows = "flake-compat";
}; };
berberman = {
url = "github:berberman/flakes";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nvfetcher.follows = "nvfetcher";
};
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -46,7 +41,7 @@
inputs.rust-overlay.follows = "rust-overlay"; inputs.rust-overlay.follows = "rust-overlay";
}; };
neovim = { neovim = {
url = "github:Guanran928/nvim"; url = "git+https://git.ny4.dev/nyancat/nvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
inputs.treefmt-nix.follows = "treefmt-nix"; inputs.treefmt-nix.follows = "treefmt-nix";
@ -125,12 +120,6 @@
url = "sourcehut:~rycee/nmt"; url = "sourcehut:~rycee/nmt";
flake = false; flake = false;
}; };
nvfetcher = {
url = "github:berberman/nvfetcher";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-compat.follows = "flake-compat";
inputs.flake-utils.follows = "flake-utils";
};
pre-commit-hooks-nix = { pre-commit-hooks-nix = {
url = "github:cachix/pre-commit-hooks.nix"; url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -141,7 +130,6 @@
rust-overlay = { rust-overlay = {
url = "github:oxalica/rust-overlay"; url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
}; };
scss-reset = { scss-reset = {
url = "github:andreymatin/scss-reset"; url = "github:andreymatin/scss-reset";
@ -162,6 +150,16 @@
### nix {run,shell,build} ### nix {run,shell,build}
packages = import ./pkgs pkgs; packages = import ./pkgs pkgs;
### nix develop
devShells.default = pkgs.mkShell {
packages = with pkgs; [
alejandra
colmena
git
sops
];
};
}) })
// (let // (let
mkNixOS = system: modules: mkNixOS = system: modules:

View file

@ -1,23 +0,0 @@
{
lib,
pkgs,
...
}: {
programs.alacritty = {
enable = true;
settings = {
import = [
"${pkgs.vimPlugins.tokyonight-nvim}/extras/alacritty/tokyonight_night.toml"
];
cursor.style = "beam";
font.size = 10;
# workaround for scaling in X11
env.WINIT_X11_SCALE_FACTOR = "1";
# for zellij on macOS
window.option_as_alt = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "Both";
};
};
}

View file

@ -1,7 +1,6 @@
{ {
programs.bat.enable = true; programs.bat.enable = true;
home.sessionVariables = { home.sessionVariables = {
"PAGER" = "bat";
"MANPAGER" = "sh -c 'col -bx | bat -l man -p'"; "MANPAGER" = "sh -c 'col -bx | bat -l man -p'";
"MANROFFOPT" = "-c"; "MANROFFOPT" = "-c";
}; };

View file

@ -1,9 +0,0 @@
{pkgs, ...}: {
home.sessionVariables = {
NIXOS_OZONE_WL = "1"; # let electron applications use wayland
};
home.packages = with pkgs; [
wl-clipboard
];
}

View file

@ -1,8 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [pwvucontrol];
# remove csd window buttons
# https://github.com/localsend/localsend/blob/2457acd8a7412723b174672d174e4853dccd7d99/app/linux/my_application.cc#L45
home.sessionVariables.GTK_CSD = 0;
dconf.settings."org/gnome/desktop/wm/preferences"."button-layout" = "icon,appmenu:";
}

View file

@ -1,23 +1,15 @@
{ {pkgs, ...}: {
pkgs,
inputs,
...
}: {
i18n.inputMethod = { i18n.inputMethod = {
enabled = "fcitx5"; enabled = "fcitx5";
fcitx5.addons = fcitx5.addons = with pkgs; [
(with pkgs; [ qt6Packages.fcitx5-chinese-addons
libsForQt5.fcitx5-chinese-addons fcitx5-pinyin-minecraft
fcitx5-tokyonight fcitx5-pinyin-moegirl
]) fcitx5-pinyin-zhwiki
++ (with inputs.berberman.packages.${pkgs.stdenv.hostPlatform.system}; [ ];
fcitx5-pinyin-moegirl
fcitx5-pinyin-zhwiki
]);
}; };
xdg.configFile."fcitx5/conf/classicui.conf".text = '' xdg.configFile."fcitx5/conf/classicui.conf".text = ''
Theme=Tokyonight-Storm
Vertical Candidate List=True Vertical Candidate List=True
PreferTextIcon=True PreferTextIcon=True
''; '';

View file

@ -1,19 +1,16 @@
{pkgs, ...}: { {pkgs, ...}: {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
profiles."default" = { package = pkgs.firefox.override {
extraConfig = '' extraPrefsFiles = [
${builtins.readFile (pkgs.fetchurl { "${pkgs.arkenfox-userjs}/user.cfg"
# FIXME: IFD (pkgs.runCommandLocal "userjs" {} ''
url = "https://raw.githubusercontent.com/arkenfox/user.js/126.1/user.js"; install -Dm644 ${./user-overrides.js} $out
hash = "sha256-XRtG0iLKh8uqbeX7Rc2H6VJwZYJoNZPBlAfZEfrSCP4="; substituteInPlace $out \
})} --replace-fail "user_pref" "defaultPref"
${builtins.readFile ./user-overrides.js} '')
''; ];
}; };
}; profiles."default" = {};
home.sessionVariables = {
MOZ_USE_XINPUT2 = "1";
}; };
} }

View file

@ -3,7 +3,6 @@
enable = true; enable = true;
interactiveShellInit = '' interactiveShellInit = ''
set fish_greeting set fish_greeting
source ${pkgs.vimPlugins.tokyonight-nvim}/extras/fish/tokyonight_night.fish
''; '';
plugins = [ plugins = [
{ {

View file

@ -0,0 +1,10 @@
{
programs.foot = {
enable = true;
settings = {
main.font = "monospace:size=10";
main.resize-by-cells = false;
cursor.style = "beam";
};
};
}

View file

@ -8,7 +8,10 @@
signing.signByDefault = true; signing.signByDefault = true;
signing.key = "91F97D9ED12639CF"; signing.key = "91F97D9ED12639CF";
extraConfig.pull.rebase = true; extraConfig = {
pull.rebase = true;
push.autoSetupRemote = true;
};
}; };
programs.gh.enable = true; programs.gh.enable = true;

View file

@ -17,18 +17,14 @@
slang = "eng,en"; slang = "eng,en";
}; };
# FIXME: https://github.com/nix-community/home-manager/pull/5524 scripts =
package = pkgs.mpv-unwrapped.wrapper { (with pkgs.mpvScripts; [
mpv = pkgs.mpv-unwrapped; thumbfast
scripts = sponsorblock
(with pkgs.mpvScripts; [ modernx-zydezu
thumbfast ])
sponsorblock ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux (with pkgs.mpvScripts; [
modernx-zydezu mpris
]) ]);
++ lib.optionals pkgs.stdenv.hostPlatform.isLinux (with pkgs.mpvScripts; [
mpris
]);
};
}; };
} }

View file

@ -1,5 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = [pkgs.gnome.nautilus]; home.packages = [pkgs.nautilus];
dconf.settings = { dconf.settings = {
"org/gnome/nautilus/list-view".default-zoom-level = "small"; "org/gnome/nautilus/list-view".default-zoom-level = "small";
"org/gnome/nautilus/preferences".default-folder-viewer = "list-view"; "org/gnome/nautilus/preferences".default-folder-viewer = "list-view";

View file

@ -10,11 +10,13 @@
nixfmt-rfc-style nixfmt-rfc-style
nix-update nix-update
nix-init nix-init
nixpkgs-review
# misc # misc
nh nh
nix-output-monitor nix-output-monitor
nix-index nix-index
nix-tree
comma comma
sops sops
colmena colmena

View file

@ -7,7 +7,7 @@
enable = true; enable = true;
package = pkgs.rofi-wayland; package = pkgs.rofi-wayland;
font = "monospace"; font = "monospace";
terminal = lib.getExe pkgs.alacritty; terminal = lib.getExe pkgs.foot;
}; };
home.packages = with pkgs; [rofi-power-menu]; home.packages = with pkgs; [rofi-power-menu];

View file

@ -1,11 +1,9 @@
{ {pkgs, ...}: {
pkgs,
lib,
...
}: {
programs.starship = { programs.starship = {
enable = true; enable = true;
# FIXME: IFD };
settings = lib.importTOML "${pkgs.starship}/share/starship/presets/nerd-font-symbols.toml";
home.sessionVariables = {
"STARSHIP_CONFIG" = "${pkgs.starship}/share/starship/presets/nerd-font-symbols.toml";
}; };
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

View file

@ -4,7 +4,18 @@
lib, lib,
inputs, inputs,
... ...
}: { }: let
# https://www.pixiv.net/en/artworks/49983419
image = pkgs.fetchurl {
url = "https://i.pximg.net/img-original/img/2015/04/23/12/43/35/49983419_p0.jpg";
hash = "sha256-JZ5VmsjVjZfHXpx3JxzAyYzZppZmgH38AiAA+B0TDiw=";
curlOptsList = ["-e" "https://www.pixiv.net/"];
};
# Crop 100px on top and bottom
background = pkgs.runCommandLocal "49983419_p0.jpg" {} ''
${lib.getExe pkgs.imagemagick} convert ${image} -crop 3500x1600+0+100 $out
'';
in {
imports = [ imports = [
../i3status-rust ../i3status-rust
../mako ../mako
@ -49,8 +60,7 @@
]; ];
### Visuals ### Visuals
# https://danbooru.donmai.us/posts/6018861 output."*".bg = "${background} fill";
output."*".bg = "${./background.png} fill";
bars = [ bars = [
{ {
statusCommand = "${lib.getExe pkgs.i3status-rust} $HOME/.config/i3status-rust/config-default.toml"; statusCommand = "${lib.getExe pkgs.i3status-rust} $HOME/.config/i3status-rust/config-default.toml";
@ -109,7 +119,7 @@
### Execute other stuff ### Execute other stuff
# Launch applications # Launch applications
"${modifier}+Return" = "exec alacritty"; "${modifier}+Return" = "exec ${lib.getExe pkgs.foot}";
"${modifier}+w" = "exec ${pkgs.xdg-utils}/bin/xdg-open http:"; "${modifier}+w" = "exec ${pkgs.xdg-utils}/bin/xdg-open http:";
"${modifier}+e" = "exec ${pkgs.xdg-utils}/bin/xdg-open ~"; "${modifier}+e" = "exec ${pkgs.xdg-utils}/bin/xdg-open ~";

View file

@ -1,13 +1,12 @@
{pkgs, ...}: { {
programs.thunderbird = { programs.thunderbird = {
enable = true; enable = true;
profiles.default = { profiles.default = {
isDefault = true; isDefault = true;
extraConfig = '' extraConfig = ''
${builtins.readFile (pkgs.fetchurl { ${builtins.readFile (builtins.fetchurl {
# FIXME: IFD
url = "https://raw.githubusercontent.com/HorlogeSkynet/thunderbird-user.js/d6b18302e46349d9924c8a76951bae6efca51501/user.js"; url = "https://raw.githubusercontent.com/HorlogeSkynet/thunderbird-user.js/d6b18302e46349d9924c8a76951bae6efca51501/user.js";
hash = "sha256-66B1yLQkQnydAUXD7KGt32OhWSYcdWX+BUozrgW9uAg="; sha256 = "sha256-66B1yLQkQnydAUXD7KGt32OhWSYcdWX+BUozrgW9uAg=";
})} })}
${builtins.readFile ./user-overrides.js} ${builtins.readFile ./user-overrides.js}
''; '';

View file

@ -0,0 +1,21 @@
{
programs.tmux = {
enable = true;
# value from tmux-sensible, but got overridden by HM (?)
aggressiveResize = true;
escapeTime = 0;
historyLimit = 50000;
baseIndex = 1;
customPaneNavigationAndResize = true;
keyMode = "vi";
mouse = true;
newSession = true;
terminal = "tmux-256color";
extraConfig = ''
set -g set-clipboard on
set -g renumber-windows on
'';
};
}

View file

@ -1,38 +0,0 @@
{lib, ...}: {
programs.zellij = {
enable = true;
enableFishIntegration = true;
};
# Unsure about the syntax for defining keybindings in Nix (refer to line 16)
xdg.configFile."zellij/config.kdl".text = lib.mkForce ''
// TODO: Text selection is not displayed due to the use of the same color as
// my terminal background.
theme "tokyo-night-dark"
simplified_ui true
pane_frames false
default_layout "compact"
on_force_close "quit"
mirror_session false
// WORKAROUND: This feature slows down startup speed, and I don't need it anyway.
// See: https://github.com/zellij-org/zellij/issues/1757#issuecomment-1962981641
session_serialization false
keybinds {
normal {
bind "Alt 1" { GoToTab 1; }
bind "Alt 2" { GoToTab 2; }
bind "Alt 3" { GoToTab 3; }
bind "Alt 4" { GoToTab 4; }
bind "Alt 5" { GoToTab 5; }
bind "Alt 6" { GoToTab 6; }
bind "Alt 7" { GoToTab 7; }
bind "Alt 8" { GoToTab 8; }
bind "Alt 9" { GoToTab 9; }
bind "Alt 0" { GoToTab 10; }
}
}
'';
}

View file

@ -38,16 +38,17 @@
./applications/bash ./applications/bash
./applications/bat ./applications/bat
./applications/eza ./applications/eza
./applications/neovim
./applications/fish ./applications/fish
./applications/git ./applications/git
./applications/gpg ./applications/gpg
./applications/neovim
./applications/skim ./applications/skim
./applications/starship ./applications/starship
./applications/tealdeer ./applications/tealdeer
./applications/zellij ./applications/tmux
]; ];
programs.jq.enable = true;
programs.ripgrep.enable = true; programs.ripgrep.enable = true;
programs.zoxide.enable = true; programs.zoxide.enable = true;
home.packages = home.packages =

View file

@ -24,6 +24,8 @@
"steam" "steam"
"steam-original" "steam-original"
"xow_dongle-firmware" "xow_dongle-firmware"
"fcitx5-pinyin-minecraft"
"fcitx5-pinyin-moegirl"
]; ];
}; };
} }

View file

@ -35,14 +35,14 @@
"ydict" "ydict"
]; ];
home.packages = with pkgs; home.packages =
[ (with pkgs; [
amberol amberol
fractal fractal
gnome.gnome-calculator gnome-calculator
hyperfine hyperfine
mousai mousai
] ])
++ (with inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.scripts; [ ++ (with inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.scripts; [
lofi lofi
]); ]);
@ -54,6 +54,19 @@
programs.adb.enable = true; programs.adb.enable = true;
# fucking hell # fucking hell
# FIXME: IFD
programs.anime-game-launcher.enable = true; programs.anime-game-launcher.enable = true;
# nouveou
services.xserver.videoDrivers = [];
# novideo
# hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
# environment.sessionVariables."MOZ_ENABLE_WAYLAND" = "0";
# networking.networkmanager.enable = false;
# services.xserver.desktopManager.gnome.enable = true;
# services.xserver.displayManager.gdm.enable = true;
# # https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1562
# services.udev.extraRules = ''
# ENV{DEVNAME}=="/dev/dri/card1", TAG+="mutter-device-preferred-primary"
# '';
} }

View file

@ -0,0 +1,64 @@
(default) {
encode zstd gzip
header {
# https://observatory.mozilla.org/analyze/ny4.dev
# https://infosec.mozilla.org/guidelines/web_security
# https://caddyserver.com/docs/caddyfile/directives/header#examples
?Content-Security-Policy "default-src https: blob: 'unsafe-eval' 'unsafe-inline'; object-src 'none'"
?Permissions-Policy interest-Hpcohort=()
?Strict-Transport-Security max-age=31536000;
?X-Content-Type-Options nosniff
?X-Frame-Options DENY
}
handle_path /robots.txt {
file_server * {
root /var/www/robots/robots.txt
}
}
}
http://mastodon.ny4.dev:80 {
import default
handle_path /system/* {
file_server * {
root /var/lib/mastodon/public-system
}
}
handle /api/v1/streaming/* {
reverse_proxy unix//run/mastodon-streaming/streaming-1.socket {
header_up X-Forwarded-Proto "https"
}
}
route * {
file_server * {
root @mastodon@/public
pass_thru
}
reverse_proxy * unix//run/mastodon-web/web.socket {
header_up X-Forwarded-Proto "https"
}
}
handle_errors {
root * @mastodon@/public
rewrite 500.html
file_server
}
}
http://matrix.ny4.dev:80 {
import default
reverse_proxy /_matrix/* unix//run/matrix-synapse/synapse.sock
reverse_proxy /_synapse/client/* unix//run/matrix-synapse/synapse.sock
reverse_proxy /health unix//run/matrix-synapse/synapse.sock
}
http://syncv3.ny4.dev:80 {
import default
reverse_proxy unix//run/matrix-sliding-sync/sync.sock
}

View file

@ -21,3 +21,4 @@ Homelab, hosting random stuff through tailscale and rathole.
- [ ] tpm luks unlocking - [ ] tpm luks unlocking
- [ ] nouveau -> nvidia - [ ] nouveau -> nvidia
- [x] networkmanager -> iwd - [x] networkmanager -> iwd
- [ ] jellyfin hardware acceleration

View file

@ -2,7 +2,6 @@
pkgs, pkgs,
lib, lib,
config, config,
inputs,
... ...
}: { }: {
imports = [ imports = [
@ -43,6 +42,10 @@
"mastodon/environment" = { "mastodon/environment" = {
restartUnits = ["mastodon-web.service"]; restartUnits = ["mastodon-web.service"];
}; };
"cloudflared/secret" = {
restartUnits = ["cloudflared-tunnel-6222a3e0-98da-4325-be19-0f86a7318a41.service"];
owner = config.systemd.services."cloudflared-tunnel-6222a3e0-98da-4325-be19-0f86a7318a41".serviceConfig.User;
};
}; };
}; };
@ -54,67 +57,41 @@
openFirewall = true; openFirewall = true;
}; };
services.frp = { services.cloudflared = {
enable = true; enable = true;
role = "client"; tunnels = {
settings = { "6222a3e0-98da-4325-be19-0f86a7318a41" = {
serverAddr = "18.177.132.61"; # TODO: can I use a domain name? credentialsFile = config.sops.secrets."cloudflared/secret".path;
serverPort = 7000; default = "http_status:404";
auth.method = "token"; ingress = {
auth.token = "p4$m93060THuwtYaF0Jnr(RvYGZkI*Lqvh!kGXNesZCm4JQubMQlFDzr#F7rAycE"; # FIXME: secret! # TODO: is this safe?
proxies = [ # browser <-> cloudflare cdn <-> cloudflared <-> caddy <-> mastodon
{ # ^ no tls in this part?
name = "synapse"; "mastodon.ny4.dev" = "http://localhost:80";
type = "tcp"; "matrix.ny4.dev" = "http://localhost:80";
localIP = "127.0.0.1"; "syncv3.ny4.dev" = "http://localhost:80";
localPort = 8100; };
remotePort = 8600; };
}
{
name = "syncv3";
type = "tcp";
localIP = "127.0.0.1";
remotePort = 8700;
plugin = {
type = "unix_domain_socket";
unixPath = "/run/matrix-sliding-sync/sync.sock";
};
}
{
name = "mastodon-web";
type = "tcp";
localIP = "127.0.0.1";
remotePort = 8900;
plugin = {
type = "unix_domain_socket";
unixPath = "/run/mastodon-web/web.socket";
};
}
{
name = "mastodon-streaming";
type = "tcp";
localIP = "127.0.0.1";
remotePort = 9000;
plugin = {
type = "unix_domain_socket";
unixPath = "/run/mastodon-streaming/streaming-1.socket";
};
}
{
name = "mastodon-system";
type = "tcp";
localIP = "127.0.0.1";
remotePort = 9100;
plugin = {
type = "static_file";
localPath = "/var/lib/mastodon/public-system";
};
}
];
}; };
}; };
systemd.services.frp.serviceConfig.SupplementaryGroups = ["mastodon"]; services.caddy = {
enable = true;
configFile = pkgs.substituteAll {
src = ./Caddyfile;
inherit (pkgs) mastodon;
};
};
systemd.services.caddy.serviceConfig = {
SupplementaryGroups = ["mastodon" "matrix-synapse"];
};
systemd.tmpfiles.settings = {
"10-www" = {
"/var/www/robots/robots.txt".C.argument = toString ../lightsail-tokyo/robots.txt;
};
};
services.postgresql = { services.postgresql = {
enable = true; enable = true;
@ -168,12 +145,7 @@
eula = true; eula = true;
openFirewall = true; openFirewall = true;
package = pkgs.callPackage "${inputs.nixpkgs}/pkgs/games/minecraft-servers/derivation.nix" { package = pkgs.minecraftServers.vanilla-1-21;
version = "1.21";
sha1 = "450698d1863ab5180c25d7c804ef0fe6369dd1ba";
url = "https://piston-data.mojang.com/v1/objects/450698d1863ab5180c25d7c804ef0fe6369dd1ba/server.jar";
jre_headless = pkgs.javaPackages.compiler.openjdk21.headless;
};
# Aikar's flag # Aikar's flag
# https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/ # https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/
@ -221,9 +193,15 @@
services.samba = { services.samba = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
shares."share" = { shares = {
path = "/srv/samba/share"; "share" = {
"read only" = "no"; path = "/srv/samba/share";
"read only" = "no";
};
"external" = {
path = "/mnt";
"read only" = "no";
};
}; };
}; };
@ -239,6 +217,7 @@
services.matrix-synapse = { services.matrix-synapse = {
enable = true; enable = true;
withJemalloc = true; withJemalloc = true;
enableRegistrationScript = false;
extraConfigFiles = [config.sops.secrets."synapse/secret".path]; extraConfigFiles = [config.sops.secrets."synapse/secret".path];
settings = { settings = {
server_name = "ny4.dev"; server_name = "ny4.dev";
@ -246,11 +225,8 @@
presence.enabled = false; # tradeoff presence.enabled = false; # tradeoff
listeners = [ listeners = [
{ {
port = 8100; path = "/run/matrix-synapse/synapse.sock";
bind_addresses = ["127.0.0.1"];
type = "http"; type = "http";
tls = false;
x_forwarded = true;
resources = [ resources = [
{ {
names = ["client" "federation"]; names = ["client" "federation"];
@ -265,7 +241,7 @@
{ {
idp_id = "keycloak"; idp_id = "keycloak";
idp_name = "id.ny4.dev"; idp_name = "id.ny4.dev";
issuer = "https://id.ny4.dev/realms/master"; issuer = "https://id.ny4.dev/realms/ny4";
client_id = "synapse"; client_id = "synapse";
client_secret_path = config.sops.secrets."synapse/oidc".path; client_secret_path = config.sops.secrets."synapse/oidc".path;
scopes = ["openid" "profile"]; scopes = ["openid" "profile"];
@ -280,18 +256,24 @@
}; };
}; };
systemd.services.matrix-synapse.environment = config.networking.proxy.envVars; systemd.services.matrix-synapse = {
environment = config.networking.proxy.envVars;
serviceConfig.RuntimeDirectory = ["matrix-synapse"];
};
services.matrix-sliding-sync = { services.matrix-sliding-sync = {
enable = true; enable = true;
environmentFile = config.sops.secrets."syncv3/environment".path; environmentFile = config.sops.secrets."syncv3/environment".path;
settings = { settings = {
SYNCV3_SERVER = "http://127.0.0.1:8100"; SYNCV3_SERVER = "/run/matrix-synapse/synapse.sock";
SYNCV3_BINDADDR = "/run/matrix-sliding-sync/sync.sock"; SYNCV3_BINDADDR = "/run/matrix-sliding-sync/sync.sock";
}; };
}; };
systemd.services.matrix-sliding-sync.serviceConfig.RuntimeDirectory = ["matrix-sliding-sync"]; systemd.services.matrix-sliding-sync.serviceConfig = {
RuntimeDirectory = ["matrix-sliding-sync"];
SupplementaryGroups = ["matrix-synapse"];
};
services.mastodon = { services.mastodon = {
enable = true; enable = true;
@ -314,7 +296,7 @@
# OIDC_CLIENT_SECRET # EnvironmentFile # OIDC_CLIENT_SECRET # EnvironmentFile
OIDC_DISCOVERY = "true"; OIDC_DISCOVERY = "true";
OIDC_DISPLAY_NAME = "id.ny4.dev"; OIDC_DISPLAY_NAME = "id.ny4.dev";
OIDC_ISSUER = "https://id.ny4.dev/realms/master"; OIDC_ISSUER = "https://id.ny4.dev/realms/ny4";
OIDC_REDIRECT_URI = "https://${WEB_DOMAIN}/auth/auth/openid_connect/callback"; OIDC_REDIRECT_URI = "https://${WEB_DOMAIN}/auth/auth/openid_connect/callback";
OIDC_SCOPE = "openid,profile,email"; OIDC_SCOPE = "openid,profile,email";
OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED = "true"; OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED = "true";

View file

@ -1,10 +1,12 @@
synapse: synapse:
secret: ENC[AES256_GCM,data:H7bHbreE4NmpqXHpkPQ5AkwGOAs97YcQhQZIr5zgK1mgHMTGSbMP57elWMyMAQ3+wCy7x9Jx0H2omrdQh39iG32XoVyyMMoVMQ0OCgFa4O77DHdgG+wrWl7VLWNY,iv:cFbMEqJQG482ShZlpoxRhk7z/y5216WucXfJbkMxuxU=,tag:7iUyMlu2yStLLdkC/V9/DQ==,type:str] secret: ENC[AES256_GCM,data:H7bHbreE4NmpqXHpkPQ5AkwGOAs97YcQhQZIr5zgK1mgHMTGSbMP57elWMyMAQ3+wCy7x9Jx0H2omrdQh39iG32XoVyyMMoVMQ0OCgFa4O77DHdgG+wrWl7VLWNY,iv:cFbMEqJQG482ShZlpoxRhk7z/y5216WucXfJbkMxuxU=,tag:7iUyMlu2yStLLdkC/V9/DQ==,type:str]
oidc: ENC[AES256_GCM,data:vGQcPcUfbv6II6buEMKELc1+xZ5XccpEeCy3vZx4fdk=,iv:ORok/FXZ9SA54zD1+OhyFnZAPhGpMpTetWYgge2QSwQ=,tag:7DxrruTbenUfI/V6hGYBaw==,type:str] oidc: ENC[AES256_GCM,data:ihiMcrrYvPrNDJ13p6/FbINgh5wxv2vyOYxg0sthipM=,iv:+aESWZLI7/4HWjV7QT94py+zGLbTl+VoSsWdiGNHkjU=,tag:yxxZeDOtzFegCQGQT2HCgA==,type:str]
syncv3: syncv3:
environment: ENC[AES256_GCM,data:xVBXP3+w38T700OYu6XL1R1I0NWzcKeORWk5GE2lkWS+kooplcQb/wbov40H+DB522cRzCRutMXmrvGVWO86kIH/jT5tq5iWrdxbSKjTxA==,iv:6rtSdSMYtGnZl8WMmqxaCxbDG7SXhKy0LCXJJkorTvU=,tag:3PE5R31oU3ClL7elK/ca0g==,type:str] environment: ENC[AES256_GCM,data:xVBXP3+w38T700OYu6XL1R1I0NWzcKeORWk5GE2lkWS+kooplcQb/wbov40H+DB522cRzCRutMXmrvGVWO86kIH/jT5tq5iWrdxbSKjTxA==,iv:6rtSdSMYtGnZl8WMmqxaCxbDG7SXhKy0LCXJJkorTvU=,tag:3PE5R31oU3ClL7elK/ca0g==,type:str]
mastodon: mastodon:
environment: ENC[AES256_GCM,data:cEGz8ZEPUmtPXyJx5oB1xOUvya7lSCW4vQKCp6F6WpgakZdrarez0cOzM8VsfNe3lFe6VQ==,iv:17k4EWB4v/79ApfKw5e8FyqJ1zKEn9xxewkrsRbya9A=,tag:dJjVjhEQGjSrxD9FO2hYEw==,type:str] environment: ENC[AES256_GCM,data:9RjpYXbGo8lBsXKg71Vbp2iTJlvXEGhn8hTl37o8G1E28JWF5Io7+evfqUv+N7QfSk1zbA==,iv:ejfe7f941QB7iiREXx1T9Vej43cW/S9nr03P5lkw9Yg=,tag:odI7xsxoPGBrxd0GnCsnOg==,type:str]
cloudflared:
secret: ENC[AES256_GCM,data:QXIl0MqreqPH4LP7IQdA5qQCQdizjFixbOHjqQi/3RjYDt9zt0OejW9rIYnkIRyVj4hnkJBqd1ov/VgdSoNmy/iafIgwqwgsMH0e4R9J6n255p3JG3XBmiYry89xXvQ1SXyzWdUF6p3qgevwzjZnKYyYHT9TbLWc/BkTyyA8g1EGg0O1WfDXhq7u9kOPV4CaU1UX1MMpvZQnsV389PJEWYuK,iv:ASGw5dGOuukRREZ8vMLw5hgZmJhDZSJxDqvfWaxXKJk=,tag:75jf48BEDd4uHkb+2LV5Tg==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@ -29,8 +31,8 @@ sops:
bGQ1cytGR09Dd2JoaU5CSW1DL1FVR0kK8F2DoJcnd+T+eQ9h39DtaAGCSpS4wXVJ bGQ1cytGR09Dd2JoaU5CSW1DL1FVR0kK8F2DoJcnd+T+eQ9h39DtaAGCSpS4wXVJ
hOZBh9fDeue1PwMWufDJ6KGeR0atPbUjn2w0dquvLEdBjt3Un9rFcA== hOZBh9fDeue1PwMWufDJ6KGeR0atPbUjn2w0dquvLEdBjt3Un9rFcA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-05-21T10:09:01Z" lastmodified: "2024-06-21T07:19:43Z"
mac: ENC[AES256_GCM,data:HwZxrU64AQ9icbPWi5E8wQOfVDuSXF9/S9s9BoWpX4yewarKS/k2kRagaW4pBHeL3QUDXxQuTazaLEb06LyWezuS/ij1InCZu4D4DPe7EQ/YfQTDj/r1iCEvo1X2fLuSQ8+H8p5KXy0iV7rZbFLPYY3puYJTVwVJbI3m2rSU9bw=,iv:MzoOmFFTPbfA8FxPRZ2gL4HcYbBWxFJ+LfBB2fL0CSk=,tag:kIqgrNow4u2sbMKijyAKfg==,type:str] mac: ENC[AES256_GCM,data:pKWUM3uhmtrwTOlR2jZauWsGSY1d//z+cojpWLFAAKedGjotLB6cmektyAVRHhw3waiM4WR5+BNZ6ghp7qBrM0z2WanJCdSmXqdyxJEydUC9CCFXZG+7SmIZS+7+/LsqejzdYSAMf9DijN74E1EJVS5F0mHhw8QuRmDy3wU789M=,iv:IrOm1Maz8os9Q/ez+TbOxOTr1zwB1loDVHcPbN8kMvg=,tag:AAKp3OH/s2c7u8lp6vkLVg==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.8.1 version: 3.8.1

View file

@ -6,7 +6,9 @@
} }
} }
(header) { (default) {
encode zstd gzip
header { header {
# https://observatory.mozilla.org/analyze/ny4.dev # https://observatory.mozilla.org/analyze/ny4.dev
# https://infosec.mozilla.org/guidelines/web_security # https://infosec.mozilla.org/guidelines/web_security
@ -18,13 +20,7 @@
?X-Content-Type-Options nosniff ?X-Content-Type-Options nosniff
?X-Frame-Options DENY ?X-Frame-Options DENY
} }
}
(compression) {
encode zstd gzip
}
(robots) {
handle_path /robots.txt { handle_path /robots.txt {
file_server * { file_server * {
root /var/www/robots/robots.txt root /var/www/robots/robots.txt
@ -32,13 +28,13 @@
} }
} }
(default) { www.ny4.dev {
import header import default
import compression redir https://ny4.dev
import robots
} }
www.ny4.dev { # get the certificate for hysteria
tyo0.ny4.dev {
import default import default
redir https://ny4.dev redir https://ny4.dev
} }
@ -91,13 +87,6 @@ pixiv.ny4.dev {
reverse_proxy unix//run/pixivfe/pixiv.sock reverse_proxy unix//run/pixivfe/pixiv.sock
} }
matrix.ny4.dev {
import default
reverse_proxy /_matrix/* localhost:8600
reverse_proxy /_synapse/client/* localhost:8600
reverse_proxy /health localhost:8600
}
syncv3.ny4.dev { syncv3.ny4.dev {
import default import default
reverse_proxy localhost:8700 reverse_proxy localhost:8700
@ -114,31 +103,6 @@ element.ny4.dev {
file_server file_server
} }
mastodon.ny4.dev {
import default
handle_path /system/* {
reverse_proxy localhost:9100
}
handle /api/v1/streaming/* {
reverse_proxy localhost:9000
}
route * {
file_server * {
root @mastodon@/public
pass_thru
}
reverse_proxy * localhost:8900
}
handle_errors {
root * @mastodon@/public
rewrite 500.html
file_server
}
}
git.ny4.dev { git.ny4.dev {
import default import default
reverse_proxy unix//run/forgejo/forgejo.sock reverse_proxy unix//run/forgejo/forgejo.sock

View file

@ -58,18 +58,8 @@
}; };
### Services ### Services
networking.firewall.allowedUDPPorts = [ networking.firewall.allowedUDPPorts = [443]; # hysteria
# hysteria networking.firewall.allowedTCPPorts = [80 443]; # caddy
443
];
networking.firewall.allowedTCPPorts = [
# caddy
80
443
# frp
7000
];
systemd.tmpfiles.settings = { systemd.tmpfiles.settings = {
"10-www" = { "10-www" = {
@ -86,12 +76,12 @@
"element" = pkgs.element-web.override { "element" = pkgs.element-web.override {
element-web-unwrapped = pkgs.element-web-unwrapped.overrideAttrs (oldAttrs: { element-web-unwrapped = pkgs.element-web-unwrapped.overrideAttrs (oldAttrs: {
version = "1.11.69-rc.1"; version = "1.11.70-rc.0";
src = oldAttrs.src.overrideAttrs { src = oldAttrs.src.overrideAttrs {
outputHash = "sha256-vL21wTI9qeIhrFdbI0WsehVy0ZLBj9rayuQnTPC7k8g="; outputHash = "sha256-LnPqwXczECH7XnVvGnoUQpZct2jmGEFVpJ1nTewAHC8=";
}; };
offlineCache = oldAttrs.offlineCache.overrideAttrs { offlineCache = oldAttrs.offlineCache.overrideAttrs {
outputHash = "sha256-nZWclW2tEq7vPRPG5zzhYfExVnmPxYDm8DxME5w5ORI="; outputHash = "sha256-yAAZXnxrBGuTWUJcL6Su0F5H2D5MNg9PUU7Uj8XT8N8=";
}; };
}); });
@ -110,21 +100,11 @@
configFile = config.sops.templates."hysteria.yaml".path; configFile = config.sops.templates."hysteria.yaml".path;
credentials = [ credentials = [
# FIXME: remove hardcoded path # FIXME: remove hardcoded path
"cert:/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/ny4.dev/ny4.dev.crt" "cert:/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/tyo0.ny4.dev/tyo0.ny4.dev.crt"
"key:/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/ny4.dev/ny4.dev.key" "key:/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/tyo0.ny4.dev/tyo0.ny4.dev.key"
]; ];
}; };
services.frp = {
enable = true;
role = "server";
settings = {
bindPort = 7000;
auth.method = "token";
auth.token = "p4$m93060THuwtYaF0Jnr(RvYGZkI*Lqvh!kGXNesZCm4JQubMQlFDzr#F7rAycE";
};
};
# `journalctl -u murmur.service | grep Password` # `journalctl -u murmur.service | grep Password`
services.murmur = { services.murmur = {
enable = true; enable = true;
@ -189,12 +169,12 @@
services.keycloak = { services.keycloak = {
enable = true; enable = true;
settings = { settings = {
cache = "local";
hostname = "id.ny4.dev";
http-host = "127.0.0.1"; http-host = "127.0.0.1";
http-port = 8800; http-port = 8800;
proxy = "edge"; proxy = "edge";
hostname-strict-backchannel = true; # proxy-headers = "xforwarded"; # FIXME: Key material not provided to setup HTTPS.
hostname = "id.ny4.dev";
cache = "local";
}; };
database.passwordFile = toString (pkgs.writeText "password" "keycloak"); database.passwordFile = toString (pkgs.writeText "password" "keycloak");
}; };
@ -237,7 +217,7 @@
} }
{ {
"Mumble" = { "Mumble" = {
description = "${getDesc pkgs.mumble} (Connect with ny4.dev:64738)"; description = "${getDesc pkgs.mumble} (Connect with tyo0.ny4.dev:64738)";
}; };
} }
]; ];

View file

@ -28,8 +28,8 @@ sops:
R1ZMMG1jWnljNWl5Nk5MU3RCMlFPYjgKL1ScxzF0D1R18H+oe6dlxUGlL9myHEr3 R1ZMMG1jWnljNWl5Nk5MU3RCMlFPYjgKL1ScxzF0D1R18H+oe6dlxUGlL9myHEr3
3HBPoapKCSQ/cT7Xma4bsWD1AVJIf1Ak+MeCs9ItGwKAcnd9JYZ9KA== 3HBPoapKCSQ/cT7Xma4bsWD1AVJIf1Ak+MeCs9ItGwKAcnd9JYZ9KA==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-05-15T07:19:59Z" lastmodified: "2024-06-21T07:19:35Z"
mac: ENC[AES256_GCM,data:kaOXFVuCPG0enPjvhJRWyHqOrVnlm1+ifFd/ore3WbB0IjDvC3UAuPHQEG/V/wZJOgqx/BmaL31GQWuHHDYgeRqjmcmCFofI4262fuf4XAaCS/vkZCRGTUgqQxmLNBpGNRMxy+Oyk2wCW92Q9HOJl7Suc8snufdext3Nn7AL+TA=,iv:8n6tNsHnwF8iGyTGo15MrpHfWkY4Fuu/Q3DfCFQgGv4=,tag:EbiACYHI14GMQhIBudzgzw==,type:str] mac: ENC[AES256_GCM,data:1zG5at1zfjbnnHcZ1Vy7aJxMjaZpE9aL3QlAaxyQ7GYle05z/4PqIdampd7p1WrMWNWqkxkUFazTCpQF9faR0qbnZ2zyOWk45ZtBGZSEhvHRFke6JjwPv4fi35ozHL4JiuP76kGivegvR2OgQ7NH6HJBoZgEqduu+YISJlrvJVs=,iv:p/v8BnUmOCYsaXtUeaVq5MKLk69as3XkQsG688tYkiE=,tag:if6U/qbzrNdYaqLcQbGe6Q==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.8.1 version: 3.8.1

View file

@ -13,20 +13,21 @@
++ [ ++ [
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://cache.garnix.io" "https://cache.garnix.io"
# Personal cachix-s
"https://berberman.cachix.org"
"https://guanran928.cachix.org" "https://guanran928.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"berberman.cachix.org-1:UHGhodNXVruGzWrwJ12B1grPK/6Qnrx2c3TjKueQPds="
"guanran928.cachix.org-1:BE/iBCj2/pqJXG908wHRrcaV0B2fC+KbFjHsXY6b91c=" "guanran928.cachix.org-1:BE/iBCj2/pqJXG908wHRrcaV0B2fC+KbFjHsXY6b91c="
]; ];
trusted-users = ["@wheel"]; trusted-users = ["@wheel"];
experimental-features = ["auto-allocate-uids" "cgroups"]; experimental-features = [
"auto-allocate-uids"
"cgroups"
"no-url-literals"
];
allow-import-from-derivation = false;
auto-allocate-uids = true; auto-allocate-uids = true;
builders-use-substitutes = true; builders-use-substitutes = true;
use-cgroups = true; use-cgroups = true;

View file

@ -6,9 +6,9 @@
./xdg-mime.nix ./xdg-mime.nix
] ]
++ map (n: ../../../../../home/applications/${n}) [ ++ map (n: ../../../../../home/applications/${n}) [
"alacritty"
"fcitx5" "fcitx5"
"firefox" "firefox"
"foot"
"go" "go"
"mpv" "mpv"
"nautilus" "nautilus"
@ -23,16 +23,13 @@
end end
''; '';
home.packages = home.packages = with pkgs; [
(with pkgs; [ loupe
loupe gnome-calculator
]) seahorse
++ (with pkgs.gnome; [ file-roller
seahorse dconf-editor
file-roller ];
gnome-calculator
dconf-editor
]);
services = { services = {
ssh-agent.enable = true; ssh-agent.enable = true;

View file

@ -26,12 +26,12 @@
# Make GTK listen to fontconfig # Make GTK listen to fontconfig
dconf.settings = { dconf.settings = {
"org/gnome/desktop/wm/preferences" = { "org/gnome/desktop/wm/preferences" = {
"titlebar-font" = "Sans Bold"; "titlebar-font" = "Sans Bold 11";
}; };
"org/gnome/desktop/interface" = { "org/gnome/desktop/interface" = {
"font-name" = "Sans"; "font-name" = "Sans 11";
"document-font-name" = "Sans"; "document-font-name" = "Sans 11";
"monospace-font-name" = "Monospace"; "monospace-font-name" = "Monospace 10";
}; };
}; };

View file

@ -6,9 +6,8 @@
}: { }: {
home.pointerCursor = { home.pointerCursor = {
name = "Adwaita"; name = "Adwaita";
package = pkgs.gnome.adwaita-icon-theme; package = pkgs.adwaita-icon-theme;
size = 24; size = 24;
x11.enable = true;
gtk.enable = true; gtk.enable = true;
}; };
@ -22,7 +21,7 @@
iconTheme = { iconTheme = {
name = "Adwaita"; name = "Adwaita";
package = pkgs.gnome.adwaita-icon-theme; package = pkgs.adwaita-icon-theme;
}; };
theme = { theme = {

View file

@ -4,9 +4,54 @@ let
patches = (old.patches or []) ++ patches; patches = (old.patches or []) ++ patches;
}); });
in { in {
patches = _final: prev: patches = _final: prev: {
{} # https://aur.archlinux.org/pkgbase/nautilus-typeahead
// import ./nautilus.nix {inherit addPatches prev;} nautilus = prev.nautilus.overrideAttrs {
// import ./prismlauncher.nix {inherit addPatches prev;} src = prev.fetchFromGitLab {
// import ./sway.nix {inherit addPatches prev;}; domain = "gitlab.gnome.org";
owner = "albertvaka";
repo = "nautilus";
rev = "f5f593bf36c41756a29d5112a10cf7ec70b8eafb";
hash = "sha256-PfkCY2gQ8jfPIgTRC9Xzxh4N3f2oB339Hym5RCbKwkw=";
};
# Enable type-ahead behavior by default
postPatch = ''
awk -i inplace '/type-ahead-search/{c++;} c==1 && /true/{sub("true", "false"); c++;} 1' data/org.gnome.nautilus.gschema.xml
'';
};
sway-unwrapped = addPatches prev.sway-unwrapped [
# text_input: Implement input-method popups
# https://github.com/swaywm/sway/pull/7226
(prev.fetchpatch rec {
name = "0001-text_input-Implement-input-method-popups.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
hash = "sha256-A+rBaWMWs616WllVoo21AJaf9lxg/oCG0b9tHLfuJII=";
})
(prev.fetchpatch rec {
name = "0002-chore-fractal-scale-handle.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
hash = "sha256-YOFm0A4uuRSuiwnvF9xbp8Wl7oGicFGnq61vLegqJ0E=";
})
(prev.fetchpatch rec {
name = "0003-chore-left_pt-on-method-popup.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
hash = "sha256-PzhQBRpyB1WhErn05UBtBfaDW5bxnQLRKWu8jy7dEiM=";
})
# Tray D-Bus Menu
# https://github.com/swaywm/sway/pull/6249
(prev.fetchpatch {
name = "0001-Tray-Implement-dbusmenu.patch";
url = "https://github.com/NickHu/sway/commit/0fc5d7aed84415a77b718ca9dc3c0b3ad2c05b02.patch";
hash = "sha256-1KuGZGwyGJK8KO4OngS+tWKV/3Yu++bCNnp+xTrlGoY=";
})
(prev.fetchpatch {
name = "0002-Tray-dont-invoke-dbus-menu-when-tray-is-disabled.patch";
url = "https://github.com/NickHu/sway/commit/03c14421354e54332e12f78d029dcaa9919fd161.patch";
hash = "sha256-GhBlCnk7aB6s57wV1FNOPAt6s0oJxLgf2bMw+8ktn8A=";
})
];
};
} }

View file

@ -1,21 +0,0 @@
{prev, ...}: {
gnome =
prev.gnome
// {
# https://aur.archlinux.org/pkgbase/nautilus-typeahead
nautilus = prev.gnome.nautilus.overrideAttrs {
src = prev.fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "albertvaka";
repo = "nautilus";
rev = "f5f593bf36c41756a29d5112a10cf7ec70b8eafb";
hash = "sha256-PfkCY2gQ8jfPIgTRC9Xzxh4N3f2oB339Hym5RCbKwkw=";
};
# Enable type-ahead behavior by default
postPatch = ''
awk -i inplace '/type-ahead-search/{c++;} c==1 && /true/{sub("true", "false"); c++;} 1' data/org.gnome.nautilus.gschema.xml
'';
};
};
}

View file

@ -1,14 +0,0 @@
{
addPatches,
prev,
...
}: {
prismlauncher = addPatches prev.prismlauncher [
# Offline mode for Prism Launcher
# https://github.com/Misterio77/nix-config/blob/main/overlays/offline-mode-prism-launcher.diff
(prev.fetchpatch {
url = "https://raw.githubusercontent.com/Misterio77/nix-config/ac1d7bbcafb6be75e94448c7ae7a94d460e3129d/overlays/offline-mode-prism-launcher.diff";
hash = "sha256-vMcAvhD0Ms4Tvwpzs/YfORc8ki7MNMurdJJ/yswfxFM=";
})
];
}

View file

@ -1,38 +0,0 @@
{
addPatches,
prev,
...
}: {
sway-unwrapped = addPatches prev.sway-unwrapped [
# text_input: Implement input-method popups
# https://github.com/swaywm/sway/pull/7226
(prev.fetchpatch rec {
name = "0001-text_input-Implement-input-method-popups.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
hash = "sha256-A+rBaWMWs616WllVoo21AJaf9lxg/oCG0b9tHLfuJII=";
})
(prev.fetchpatch rec {
name = "0002-chore-fractal-scale-handle.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
hash = "sha256-YOFm0A4uuRSuiwnvF9xbp8Wl7oGicFGnq61vLegqJ0E=";
})
(prev.fetchpatch rec {
name = "0003-chore-left_pt-on-method-popup.patch";
url = "https://aur.archlinux.org/cgit/aur.git/plain/${name}?h=sway-im&id=b8434b3ad9e8c6946dbf7b14b0f7ef5679452b94";
hash = "sha256-PzhQBRpyB1WhErn05UBtBfaDW5bxnQLRKWu8jy7dEiM=";
})
# Tray D-Bus Menu
# https://github.com/swaywm/sway/pull/6249
(prev.fetchpatch {
name = "0001-Tray-Implement-dbusmenu.patch";
url = "https://github.com/NickHu/sway/commit/0fc5d7aed84415a77b718ca9dc3c0b3ad2c05b02.patch";
hash = "sha256-1KuGZGwyGJK8KO4OngS+tWKV/3Yu++bCNnp+xTrlGoY=";
})
(prev.fetchpatch {
name = "0002-Tray-dont-invoke-dbus-menu-when-tray-is-disabled.patch";
url = "https://github.com/NickHu/sway/commit/03c14421354e54332e12f78d029dcaa9919fd161.patch";
hash = "sha256-GhBlCnk7aB6s57wV1FNOPAt6s0oJxLgf2bMw+8ktn8A=";
})
];
}

View file

@ -1,13 +1,14 @@
# NOTE: 301: All packages are migrated to `github:Guanran928/nur-packages`, # NOTE: 301: All packages are migrated to `github:Guanran928/nur-packages`,
# only keeping some packages that only fits for personal use. # only keeping some packages that only fits for personal use.
pkgs: { pkgs: let
scripts = rec { inherit (pkgs) lib;
in {
scripts = lib.makeScope pkgs.newScope (self: {
# util # util
makeScript = pkgs.callPackage ./scripts/makeScript.nix {}; makeScript = self.callPackage ./scripts/makeScript.nix {};
# scripts # scripts
# TODO: Do I really have to inherit `makeScript` for every script? lofi = self.callPackage ./scripts/lofi.nix {};
lofi = pkgs.callPackage ./scripts/lofi.nix {inherit makeScript;}; screenshot = self.callPackage ./scripts/screenshot.nix {};
screenshot = pkgs.callPackage ./scripts/screenshot.nix {inherit makeScript;}; });
};
} }

View file

@ -1,8 +1,7 @@
{ {
lib, lib,
runtimeShell, runtimeShell,
writeScriptBin, runCommandLocal,
runCommandNoCCLocal,
makeBinaryWrapper, makeBinaryWrapper,
}: { }: {
name, name,
@ -10,9 +9,10 @@
runtimeInputs ? [], runtimeInputs ? [],
}: }:
# FIXME: incorrect argv0 # FIXME: incorrect argv0
runCommandNoCCLocal name { runCommandLocal name {
inherit src; inherit src;
nativeBuildInputs = [makeBinaryWrapper]; nativeBuildInputs = [makeBinaryWrapper];
meta.mainProgram = name;
} '' } ''
install -Dm755 $src $out/bin/.$name install -Dm755 $src $out/bin/.$name
makeBinaryWrapper ${runtimeShell} $out/bin/$name \ makeBinaryWrapper ${runtimeShell} $out/bin/$name \

View file

@ -1,12 +1,12 @@
hashed-passwd: ENC[AES256_GCM,data:KPOh1bYW2eruBI7Z9OKqqRmoXAxQ/k5sghAmHDFyUeJTNavelU9hcGfBq69KSU+MeFVfRmwHZncZYyiDkF4hFI2YFgFY0M2jzA==,iv:h7XtrT/4/T1b4SPGx10w5g84DMCA/FE3mjinwcLn0tI=,tag:jS8XnwEdEH2QYkNJVRwkcA==,type:str] hashed-passwd: ENC[AES256_GCM,data:KPOh1bYW2eruBI7Z9OKqqRmoXAxQ/k5sghAmHDFyUeJTNavelU9hcGfBq69KSU+MeFVfRmwHZncZYyiDkF4hFI2YFgFY0M2jzA==,iv:h7XtrT/4/T1b4SPGx10w5g84DMCA/FE3mjinwcLn0tI=,tag:jS8XnwEdEH2QYkNJVRwkcA==,type:str]
nix-access-tokens: ENC[AES256_GCM,data:1dep2U1+rUCj5cnOwXNIPexO/FPFUAFe+Q9IHegD5eRZxcRq7TF8o35yg1eybE2IZ+oOki2wXdKfOSUCpOgDQLIwvx2jyHg4+lw3AqX949jh3aXPlWiaMiBm9SBmiUow5Y7Kztp0HiV5VWkR3G+b7qlXEprNMr1n,iv:8pawngiRG54ckZJ4yNTT4Pab6QDJn8oBDZJ4I/ZjYo0=,tag:AQy5wkx8yLerCXEYCjJGqQ==,type:str] nix-access-tokens: ENC[AES256_GCM,data:lUeCDT0r1AnTFG4s8eLxSlGRVQAJ4eyXVW80pkgAL5aVrG86+G7NOLVfQYUxthLBRFFXnGA2rQD4h4c2VWknd0YDFdS+me8RBbN2mqJm6YqEYdMEW2Lgv9iSz/zXuDT9FFdDWRdv71lTTwyP2Gie4Y8UkBrAV3ue,iv:HyDyQ5H2nDzi4nIUKoelOrzF4K3sIMlB5HoQR9EMc0s=,tag:vgn2TtQRE8Qd+/zjlOSuAw==,type:str]
wireless: wireless:
wangxiaobo: ENC[AES256_GCM,data:Lz1gAdJn2aBn/TdcQRjErSrIAJHlq0mT9qsE72ocEMxNqx6TW6dJkbRfKZ6IDe/a2HNP3zUpX3MjjRbCepBkZIHmsg1SwkGfA7wWysQOxXRXYCoqWH+NbP4xm6r0QV5RGTmXU+bnKubrrJZ8Z2M2n5LDp3bf16XL22Wjsyakju4z36d1K7NPBUoCIHoVKJaLam29rWDyIaBOfZbzG+M5reGLt1hVPDWWYGjnB4xC4lqQE5bpyKrVtoU+XATCWIIx3ZZWqJsf3TVzEDvu1aCb127PMCP2lqI55Hf94RgsZPWWgoLrAhaI8t067hAWPOfdfZEEGetO4BjzJwRyCNQAvqx+YLe0RJOz3lriUP3ie1mYmft4AyhV8JUmVZhEsJ7peATt+ds11BUuGw2SU9cKSa2NHM/K7e1x23Kofl1qrFF+ylr1Sy8OCZhfBozdFnPDzcYsuApe0xvMYCt4fsHFjB/kGtIG7rdGapJnvgAwhewd3dTtg4mAKPgvYr4FdWgDSr7GqrDdgqT2W8nbtJ5oQQnYmDnX+0tfLcF15EgvEN9mLIpsdNfVX3eOp1e/Z6fsbdMtpyNuMRwNDAi9V1tsYTDM/+U9xvZK3DWNX6XTYQ==,iv:nq2Hj7aY+M8QJoA08oyvg55UuxJdnoGTT2KQNu3B8Z8=,tag:sYV4ZE2evYb3U4JRPCJT3Q==,type:str] wangxiaobo: ENC[AES256_GCM,data:Lz1gAdJn2aBn/TdcQRjErSrIAJHlq0mT9qsE72ocEMxNqx6TW6dJkbRfKZ6IDe/a2HNP3zUpX3MjjRbCepBkZIHmsg1SwkGfA7wWysQOxXRXYCoqWH+NbP4xm6r0QV5RGTmXU+bnKubrrJZ8Z2M2n5LDp3bf16XL22Wjsyakju4z36d1K7NPBUoCIHoVKJaLam29rWDyIaBOfZbzG+M5reGLt1hVPDWWYGjnB4xC4lqQE5bpyKrVtoU+XATCWIIx3ZZWqJsf3TVzEDvu1aCb127PMCP2lqI55Hf94RgsZPWWgoLrAhaI8t067hAWPOfdfZEEGetO4BjzJwRyCNQAvqx+YLe0RJOz3lriUP3ie1mYmft4AyhV8JUmVZhEsJ7peATt+ds11BUuGw2SU9cKSa2NHM/K7e1x23Kofl1qrFF+ylr1Sy8OCZhfBozdFnPDzcYsuApe0xvMYCt4fsHFjB/kGtIG7rdGapJnvgAwhewd3dTtg4mAKPgvYr4FdWgDSr7GqrDdgqT2W8nbtJ5oQQnYmDnX+0tfLcF15EgvEN9mLIpsdNfVX3eOp1e/Z6fsbdMtpyNuMRwNDAi9V1tsYTDM/+U9xvZK3DWNX6XTYQ==,iv:nq2Hj7aY+M8QJoA08oyvg55UuxJdnoGTT2KQNu3B8Z8=,tag:sYV4ZE2evYb3U4JRPCJT3Q==,type:str]
OpenWrt: ENC[AES256_GCM,data:tlZJExED1Brv4/hOJjbgEbyLMQZVfNhl/5ux94IDM5jSL2lEBYy74qf4VVn2SKMYUuu7bjV7UlnwrD/jzDRuO/gWfkeuoZ5uh3pX0s2wv5E2Z7nJjkYtVn0XDlr8m/4Y6R14ahSIqKJKY4LAAeuQo0t7jEeYv4E3kuyhXUNE5jjrdD9mW+ObS1WV/DpBqUZc3dJe+88EVzgVa5F/L+VWQ3Klz5TduQzqfOyjjoNe+z8gwODzHczfPZCdplfo4PbrMWV8FlyUdJUX37nkZiEkyUpPuksZHb5OPAtx9fCh/KF5y/txS9oZTwOkiE4LBQBpj2NcLMQGOEdtRYLzJekyaOGChrtD+mFfL9LBuLwQLAzHLUI4oZ3PUgu3zXYevtmyrSSwlK/2iama71swmNu+qYws+WkjMVyF4MB/KCtMJULbZW9XJp7tw7cfSzek0RMizlk3MgrEyF2w3J9vx6Q4OHPSE48kgK2Kw0kg93wl9uO6kCRq0QiTJ6lZHopsWyWHTcs1,iv:kvBRYkhFAmDCSdU5Nkc66VblbjQfWHp7ls8x0d46ueA=,tag:Y/oa7vgoI/VsZ+OyJUjZ/g==,type:str] OpenWrt: ENC[AES256_GCM,data:tlZJExED1Brv4/hOJjbgEbyLMQZVfNhl/5ux94IDM5jSL2lEBYy74qf4VVn2SKMYUuu7bjV7UlnwrD/jzDRuO/gWfkeuoZ5uh3pX0s2wv5E2Z7nJjkYtVn0XDlr8m/4Y6R14ahSIqKJKY4LAAeuQo0t7jEeYv4E3kuyhXUNE5jjrdD9mW+ObS1WV/DpBqUZc3dJe+88EVzgVa5F/L+VWQ3Klz5TduQzqfOyjjoNe+z8gwODzHczfPZCdplfo4PbrMWV8FlyUdJUX37nkZiEkyUpPuksZHb5OPAtx9fCh/KF5y/txS9oZTwOkiE4LBQBpj2NcLMQGOEdtRYLzJekyaOGChrtD+mFfL9LBuLwQLAzHLUI4oZ3PUgu3zXYevtmyrSSwlK/2iama71swmNu+qYws+WkjMVyF4MB/KCtMJULbZW9XJp7tw7cfSzek0RMizlk3MgrEyF2w3J9vx6Q4OHPSE48kgK2Kw0kg93wl9uO6kCRq0QiTJ6lZHopsWyWHTcs1,iv:kvBRYkhFAmDCSdU5Nkc66VblbjQfWHp7ls8x0d46ueA=,tag:Y/oa7vgoI/VsZ+OyJUjZ/g==,type:str]
clash: clash:
secret: ENC[AES256_GCM,data:eCq/pDlSOw==,iv:QGNKxqmkj9BWFBJGj/O4fUL8Ey8zGEHMsWX02DrM82U=,tag:z2vVCBSt6mw47ca2xoxg9A==,type:str] secret: ENC[AES256_GCM,data:eCq/pDlSOw==,iv:QGNKxqmkj9BWFBJGj/O4fUL8Ey8zGEHMsWX02DrM82U=,tag:z2vVCBSt6mw47ca2xoxg9A==,type:str]
proxies: proxies:
lightsail: ENC[AES256_GCM,data:ik3GANdJuZuYkl2kUMiCu6rWhOBTgvYuDT0Xn+/pZwyBVRWtwPhfLY6Ptm0GXj77zzD0/5bgxPRCNJncQEH2NarkqE/DXlluKqlBjOThgRjtVQF+FCJ01Y6/tL0HsvgZse9hasNtrXJHy+PGDiZdcNDmr+piB53Pgt+jdw==,iv:X9+PZUjWlOl74VLXW++SVDd+9U1guglNABe/N/iyMLs=,tag:OYj5a6i9WhkyK5m2wllCmg==,type:str] lightsail: ENC[AES256_GCM,data:o84OgvKdogV8EmeyRLu/gexre5QY8kaf2txXTi2Id2Ya+cWJ08WBiNGYdLKGVKSr1bflbeTirTnUgBJ7ozAw3seWDxOuFRrdvy2jZx+x8doOVwP3FsKQUeCJd4yr4M7FuA3lA0dvBpAX/W5nvz82F15x4o6AYKx0AOTh+QbVTdX4,iv:ojvL+sSORq2DYHdVDUCvN1nCt44Th7SM++I1ZRB9KyQ=,tag:z+er0P7gHa+rn4MiMyJnmg==,type:str]
proxy-providers: proxy-providers:
flyairport: ENC[AES256_GCM,data:akHdU/2o8D65sG2b/mcj76HASwhg3WvoEcrpgkXPyh7kuc+Ci42hmmmmBk9I29vuvZjTtCTs8mMzaLK1wm8TS/K1A1zeAGULxSsqhpV4cA19Q4vAtQ2+FyuGiaFszuaHK6BSlZAosfmCGoM1nZRYuOnsdeR0vnHBIHhJFNhaLw==,iv:VeVT3cEaOO/90gcqpm2yOacThbEyaXuBRhp4buX/XOY=,tag:kojJbqwYk/DNFBcJMY2eXg==,type:str] flyairport: ENC[AES256_GCM,data:akHdU/2o8D65sG2b/mcj76HASwhg3WvoEcrpgkXPyh7kuc+Ci42hmmmmBk9I29vuvZjTtCTs8mMzaLK1wm8TS/K1A1zeAGULxSsqhpV4cA19Q4vAtQ2+FyuGiaFszuaHK6BSlZAosfmCGoM1nZRYuOnsdeR0vnHBIHhJFNhaLw==,iv:VeVT3cEaOO/90gcqpm2yOacThbEyaXuBRhp4buX/XOY=,tag:kojJbqwYk/DNFBcJMY2eXg==,type:str]
efcloud: ENC[AES256_GCM,data:GvKNMscPknhlBy9Qp8iuYoxF10oX2ZIOKo+XKRH2NOGGDiMk/GwdGfA5+gf3ZcEEGFGw/8CrBddjJCivyxqwF+oAEHJyjdcFhGyyOopsx9s3waq8Hge/KzE=,iv:WXAd3yA5cTZp+ttKHXPf6cbsk6pRXq5/xMysNUAs1Rk=,tag:HygexRSW8ICa+RIFmrRKRQ==,type:str] efcloud: ENC[AES256_GCM,data:GvKNMscPknhlBy9Qp8iuYoxF10oX2ZIOKo+XKRH2NOGGDiMk/GwdGfA5+gf3ZcEEGFGw/8CrBddjJCivyxqwF+oAEHJyjdcFhGyyOopsx9s3waq8Hge/KzE=,iv:WXAd3yA5cTZp+ttKHXPf6cbsk6pRXq5/xMysNUAs1Rk=,tag:HygexRSW8ICa+RIFmrRKRQ==,type:str]
@ -53,8 +53,8 @@ sops:
SC9YMFk4dUNOUDJYMXErck8yTmJmZmcKp66bHZTD6VitAOfzIr8VJr02+R9f5mxH SC9YMFk4dUNOUDJYMXErck8yTmJmZmcKp66bHZTD6VitAOfzIr8VJr02+R9f5mxH
c5n2CWurDsZsNTKk7pgxQo78ySyAG3rzvOqgK0NFesyHy9dRl8xHCQ== c5n2CWurDsZsNTKk7pgxQo78ySyAG3rzvOqgK0NFesyHy9dRl8xHCQ==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-06-16T02:17:41Z" lastmodified: "2024-07-01T09:25:25Z"
mac: ENC[AES256_GCM,data:JDCxFDk8NnXuFb1s0oTc5dMkZVCAoqlnUh9CzZajlXoGKetrEJQRZtxxr1yzWYl548eltEyRHzUl8idsjz6OdycmrX7hL0pHQHK0QxB4iIsiJAfBX6Sa8inkp2Os7HOgxRSC4QKKb3Ua32BG40KTL/eoVkCimaby4kUZqVQHLjU=,iv:dU4zAA54KUppdAlWB6/XU0fMuuF1QSpuqpdjp9ucmz4=,tag:AGAxLXs5M5ZMixXA3yVosw==,type:str] mac: ENC[AES256_GCM,data:rQ0ZRb1Js05XWfrXSGjdJd8g3heaAmNHyRoPxmvZe36a1DXFi3eCKvBs8JjOFdtAp9XCJ9OYjzDsCpBvUSfuApjmBoMZUVqjrf88sAxT7j/4e1tdkBZto0ReondIxwt7hTEcNpuawdouPk+yehTqmw3Nyovnd/mztw/I9zhHPuk=,iv:EXvTgLqRp2JZtpiEcSW4XyQdKZ+aSoKKPgx6q8BFkhY=,tag:gbPiWetjaFm+mEmjsl9kww==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.8.1 version: 3.8.1

View file

@ -22,5 +22,9 @@
### misc ### misc
programs.prettier.enable = true; programs.prettier.enable = true;
settings.formatter.prettier.excludes = ["secrets.yaml"]; settings.formatter.prettier.excludes = [
"secrets.yaml"
"hosts/blacksteel/secrets.yaml"
"hosts/lightsail-tokyo/secrets.yaml"
];
} }