Commit Graph

666 Commits

Author SHA1 Message Date
53f293919a
profiles/editors: enable Emacs daemon 2023-12-12 09:58:27 +08:00
bd732601f4
profiles/dev: configure tealdeer 2023-12-12 09:58:04 +08:00
29e813ee05
profiles/dev: remove Zellij
This is something that should be set up per home-manager user now that
there's different users.
2023-12-12 09:50:21 +08:00
6e10f63911
profiles/dev: add coreutils-replacement submodule 2023-12-12 09:50:08 +08:00
e1c081b96d
config: fix conditional home-manager config
This should now work both for standalone home-manager and
home-manager-with-NixOS setup.
2023-12-10 17:49:52 +08:00
98777dd185
profiles/editors: add Doom Emacs binaries as part of PATH 2023-12-10 12:25:23 +08:00
4138647ea7
profiles/dev: add man-pages-posix 2023-12-05 10:30:33 +08:00
42fced727c
profiles/gaming: add GameMode 2023-12-04 18:05:56 +08:00
abb8d6b7fe
profiles/desktop: add Monaspace font 2023-12-03 15:35:16 +08:00
c50e199035
profiles/dev: remove shell configuration
It's better to let this be handled by individual home-manager users.
2023-11-26 11:41:23 +08:00
d519835c44
profiles/dev: update extras application list 2023-11-26 11:09:26 +08:00
52566deb5a
workflows/a-happy-gnome: update settings and extension list 2023-11-24 21:50:54 +08:00
c1f7eda12c
programs/distrobox: add description for Distrobox config value
This is why the custom manual cannot be built.
2023-11-23 22:14:10 +08:00
57e3957d98
services/activitywatch: update executable name 2023-11-23 22:13:35 +08:00
94f75728c4
services/plover: update module descriptions and settings file generation 2023-11-22 16:05:30 +08:00
6dbe0c2c23
profiles/dev: set conditional nix-index module for home-manager 2023-11-15 06:56:12 +08:00
b84e38896b
profiles/i18n: reformat code 2023-11-13 19:51:50 +08:00
3c6f443580
services/wezterm-mux-server: add user shell
The service is experimental at this point since I use something like
Mosh and Eternal Terminal. Domain multiplexing is pretty nice feature
with Wezterm, though.
2023-11-12 10:52:04 +08:00
214765a7b4
profiles/desktop: add more basic fonts 2023-11-12 10:50:57 +08:00
3f78b8dc2e
profiles/i18n: add basic fonts for more language support out-of-the-box 2023-11-12 10:50:32 +08:00
3673eaa9cb
profiles/dev: remove Mosh program
This is best handled on a case-by-case basis. Some hosts are now using
Eternal Terminal and some are using Mosh.
2023-11-12 10:49:10 +08:00
32e1eda149
tasks/multimedia-archive: use updated version of Archivebox Nix module 2023-11-09 11:31:59 +08:00
2be753489e
services/archivebox: escape extraArgs properly 2023-11-08 21:09:05 +08:00
a62ae7b75c
profiles/desktop: update mpv config 2023-11-08 20:47:21 +08:00
ad710cdb9d
services/archivebox: harden services 2023-11-07 20:53:45 +08:00
8b812a34c9
services/archivebox: add dedicated service user and group 2023-11-07 20:53:15 +08:00
cee845a94b
services/archivebox: replace withDependencies option with extraPackages
We also added a package option for ArchiveBox alongside it.
2023-11-07 20:51:47 +08:00
edfc8f8cc3
services/archivebox: update module examples and descriptions 2023-11-07 20:50:37 +08:00
aeac081cd2
services/archivebox: update job service name generation 2023-11-07 20:47:22 +08:00
534a300768
services/archivebox: remove archivePath option
It is quite limiting to what workflow it allows. Though, this iteration
now enforces it to be in `/var/lib/archivebox`, setting an arbitrary
option is less desirable.
2023-11-07 20:38:00 +08:00
e9d55ab771
profiles/dev: add ghcr.io in containers registry list 2023-11-07 13:31:37 +08:00
3f291fe665
hosts/ni: modularize networking config 2023-11-06 16:10:42 +08:00
16fa8cb64f
config: replace command-not-found with nix-index 2023-11-04 23:22:54 +08:00
4490214c61
services/bleachbit: remove persistent option 2023-11-04 23:20:55 +08:00
71d3fc6303
modules: update comments 2023-10-29 15:25:18 +08:00
9615a4e578
tasks/multimedia-archive: remove persistent option 2023-10-27 13:25:32 +08:00
9ddddcf1e3
services/yt-dlp: remove persistent option 2023-10-27 13:25:08 +08:00
eab8631e9b
services/gallery-dl: remove persistent option 2023-10-27 13:24:21 +08:00
52871b4fa3
services/archivebox: refactor and remove persistent option 2023-10-27 13:23:37 +08:00
43f55f9c9b
profiles/dev: add submodule for funsies CLI apps 2023-10-26 22:09:41 +08:00
5ca767848c
profiles/desktop: fix mpv config 2023-10-20 15:33:46 +08:00
479166c78d
services/vouch-proxy: add wantedBy for systemd service
Forgot to add that which is why there's no enabled service.
2023-10-20 15:33:16 +08:00
f789aabd35
programs/distrobox: add extraConfig option 2023-10-18 18:59:46 +08:00
6293a13965
profiles/dev: add sshfs 2023-10-18 09:37:43 +08:00
39ccbe0976
profiles/dev: use Distrobox Nix module 2023-10-18 09:17:33 +08:00
de8beb9780
programs/distrobox: remove settingsFile option 2023-10-18 09:16:25 +08:00
7f06e6a677
programs/distrobox: remove assertion
It seems to be more suitable as a program module.
2023-10-18 09:13:42 +08:00
af54c3570a
programs/distrobox: improve quoting for generated settings 2023-10-18 09:13:18 +08:00
5bd11ed430
programs/distrobox: init 2023-10-17 18:52:44 +08:00
8fb9770882
services/vouch-proxy: escape service names for systemd 2023-10-17 18:33:02 +08:00
e3bb442154
profiles/dev: add servers submodule
Mainly for managing them VPSs while in your home.
2023-10-17 13:26:06 +08:00
ec0fe7dec8
services/vouch-proxy: fix permissions for generated secrets 2023-10-14 14:03:40 +08:00
5657a5e023
services/vouch-proxy: use system user for service
This enables integration with secrets such as sops-nix instead of the
previous service config of being a dynamic user.
2023-10-14 11:06:23 +08:00
d43708983a
services/wezterm-mux-server: update service hardening options
It should be less strict overall with the ProtectHome= settings.
2023-10-14 11:05:46 +08:00
6012556a3d
services/wezterm-mux-server: revert to system user for service
I don't know how to completely make it isolated AND working.
2023-10-14 11:05:17 +08:00
7daea6c427
services/vouch-proxy: update service config 2023-10-13 14:24:44 +08:00
3ee04bb812
chore: reformat codebase 2023-10-09 20:48:01 +08:00
7d55e45f70
services/vouch-proxy: add some more hardening options 2023-10-09 20:46:06 +08:00
2dbb3ed68c
services/vouch-proxy: restructure for multiple instances
This resolves some cases where the admin does not have all of their
users within the protected domain and some in others.
2023-10-09 20:43:13 +08:00
bd478aebc7
profiles/dev: add Dive for virtualization submodule 2023-10-09 22:32:13 +08:00
5152bae032
services/vouch-proxy: add more systemd directives 2023-10-09 22:31:27 +08:00
b4b64fa50b
services/vouch-proxy: improve conditional settings file option 2023-10-07 20:42:52 +08:00
069723d38a
services/wezterm-mux-server: hardcode user and group
With DynamicUser directive, it should be easy to make this usable.
2023-10-06 13:48:12 +08:00
86d8878fab
services/vouch-proxy: init 2023-10-07 20:41:14 +08:00
12bb71be20
services/wezterm-mux-server: improve code 2023-10-05 10:23:09 +08:00
df58c17524
profiles/editors: add VS Code pre-set settings 2023-10-05 00:06:53 +08:00
9be7f20438
profiles/desktop: update mpv configuration 2023-10-03 21:32:24 +08:00
c410ece05a
treewide: remove options attribute for modules 2023-10-02 14:26:11 +08:00
c35bb4b185
config: improve conditional for checking NixOS module
This is mainly for integrating NixOS modules with home-manager by
setting them conditionally if certain options are enabled. This prevents
duplicate configurations which often result in conflicts (like the
Firefox module that is both available on NixOS and home-manager).
2023-09-25 23:00:40 +08:00
9654d7f551
programs/blender: reformat and update description 2023-09-25 22:06:51 +08:00
cd3cf148b9
programs/blender: fix Blender system resources directory
Also improve the way how Blender resources are joined. It isn't the
most idiomiatic code but we can improve it.
2023-09-25 15:29:56 +08:00
e4d23b596c
profiles/desktop: make Blender optional
Only when the Blender Nix module is not configured.
2023-09-25 15:28:11 +08:00
3b22d0e8b3
profiles/dev: remove shadered 2023-09-24 20:06:10 +08:00
5f73ab74e9
programs/blender: fix erroneous attribute 2023-09-24 19:21:24 +08:00
f1c271cb59
profiles/browsers: update Firefox configuration 2023-09-24 19:20:52 +08:00
a874567898
programs/blender: init NixOS module 2023-09-23 22:29:03 +08:00
5808d7bc6c
profiles/browsers: add "Google Container" add-on 2023-09-23 20:27:17 +08:00
ae9e7b06b2
profiles/dev: add shaders submodule 2023-09-23 20:23:22 +08:00
2f8674d064
profiles/desktop: add preferred video editor
Although we do have Blender but we'll see where this goes in day-to-day
usage.
2023-09-23 18:21:42 +08:00
a4c9add8a7
profiles/research: add Kiwix 2023-09-21 11:38:21 +08:00
e5aff34486
profiles/desktop: replace vanilla versions with plugin-installed versions 2023-09-21 11:38:00 +08:00
02bef3a69e
profiles/research: add Sherlock tool 2023-09-19 17:15:34 +08:00
6fc14f8358
workflows/a-happy-gnome: update and refactor module 2023-09-19 13:50:47 +08:00
72272d9d01
tasks/multimedia-archive: enable Archivebox service part 2023-09-19 13:50:30 +08:00
f9725eb208
profiles/research: add back Archivebox 2023-09-19 13:44:42 +08:00
1ceda1c216
tasks/backup-archive: change daily time schedule 2023-09-19 13:01:55 +08:00
c0d1efd1e3
profiles/dev: add hardware utilities 2023-09-18 17:57:18 +08:00
d920a9349f
profiles/browsers: add Chromium browser to system packages 2023-09-18 14:43:02 +08:00
5cbd36bcf0
profiles/editors: automate Doom Emacs installation 2023-09-18 14:42:29 +08:00
eaa16e5c7b
files/mutable-files: improve module documentation 2023-09-18 14:39:34 +08:00
9352d93b79
files/mutable-files: add postScript sub-option
This should make it easier to add shell script fragments after each
download such as installation of Doom Emacs.
2023-09-18 14:36:30 +08:00
ce0e92906f
profiles/browser: add browser extensions for Firefox native extensions 2023-09-16 16:31:17 +08:00
3cc4998ab7
profiles/browsers: add Bitwarden extension for Firefox 2023-09-16 16:18:25 +08:00
c8dc2b57ce
profiles/dev: replace exa with eza
Unmaintained and also in a state of being removed in nixpkgs.
2023-09-15 12:54:49 +08:00
e83cbded5d
profiles/browsers: init system-wide browser profile 2023-09-14 13:25:03 +08:00
e8677bd6ed
profiles/dev: add extra dev utilities 2023-09-11 18:20:00 +08:00
8cf08e3f29
profiles/dev: add quilt 2023-09-11 18:19:18 +08:00
a32787f9fb
profiles: set XDG default applications for home-manager profiles 2023-09-09 19:34:10 +08:00
19ba7b9a5a
workflows/a-happy-gnome: restructure dconf config folder structure 2023-09-09 08:02:37 +08:00
0cb0e21ce9
files/mutable-files: fix script location
I thought I fixed this but I guess not.
2023-09-08 10:00:25 +08:00
cc81b17370
workflows/a-happy-gnome: add custom keybinding for recording 2023-09-06 05:46:04 +08:00
263e1f929e
workflows/a-happy-gnome: move profile into dconf package
This prevents the need to use an internal attribute so it's all good.
2023-09-06 05:45:04 +08:00
8c02a0db68
profiles/dev: add gum into extras submodule 2023-09-04 14:13:05 +08:00
124120d8f7
profiles/desktop: remove browser in package list
Since most browsers in home-manager can be configured, it isn't wise to
add them with the package list with more chances to make environment
conflicts.
2023-09-04 13:59:53 +08:00
153495b514
services/activitywatch: update watcher service config 2023-09-04 11:32:47 +08:00
141c105412
profiles/editors: add Visual Studio Code configuration 2023-09-03 10:16:54 +08:00
d26aade8b4
profiles/dev: add cookiecutter program 2023-09-03 01:44:08 +08:00
7dacbe6963
chore: reformat codebase 2023-08-31 09:59:56 +08:00
7eee0f2c63
profiles/editors: update package list for Doom Emacs setup 2023-08-23 18:58:41 +08:00
03e1918194
docs: update Mosey Branch project notes 2023-08-22 10:12:48 +08:00
df19265030
workflows/mosey-branch: remove unnecessary symbolic link 2023-08-22 10:12:23 +08:00
08202d1bab
programs/pop-launcher: update NixOS module
Now it assumes the package is patched to search its plugins and scripts
on its store path.
2023-08-22 09:18:58 +08:00
6b9f8d3b24
workflows/mosey-branch: revise template filenames
Just to make it less confusing.
2023-08-21 21:45:37 +08:00
f122e650c6
workflows/mosey-branch: change i18n setup to ibus 2023-08-21 21:40:19 +08:00
6661eca6a3
workflows/mosey-branch: revise desktop session package 2023-08-21 21:39:58 +08:00
3fb009f61b
workflows/mosey-branch: add gnome-session systemd units 2023-08-21 21:39:25 +08:00
3e4570e265
workflows/mosey-branch: add gnome-session sessions in system 2023-08-21 21:37:15 +08:00
4d637cc249
workflows/mosey-branch/desktop-session: fix build config 2023-08-21 21:36:20 +08:00
285bcb29a2
workflows/mosey-branch: update session script install location 2023-08-21 21:35:50 +08:00
76904cfeb1
workflows/mosey-branch: update session script 2023-08-21 19:12:46 +08:00
bdf2208ddf
programs/pop-launcher: revise home-manager module
Now, it assumes it uses a patched version of the pop-launcher where it
includes the store path as one of the search paths for its plugins and
scripts.
2023-08-21 15:45:55 +08:00
b80a0c50aa
workflows/mosey-branch/desktop-session: 2023-08-13 -> 2023-08-21 2023-08-21 15:44:37 +08:00
68e7eb29cf
workflows/mosey-branch: add debug option on module 2023-08-21 15:42:40 +08:00
01003d8293
workflows/mosey-branch: refactor custom desktop session package 2023-08-21 15:42:08 +08:00
9644f90dba
workflows/mosey-branch: build custom session script in package 2023-08-21 15:41:21 +08:00
365877f6a0
files/mutable-files: update script 2023-08-21 12:15:23 +08:00
a4d78f5ed3
profiles/i18n: update fcitx5 configuration 2023-08-21 12:13:30 +08:00
a88b0ff208
profiles/dev: add basic monitoring tools 2023-08-19 15:25:15 +08:00
b2ace202e6
profiles/dev: update attribute name for vidir package 2023-08-19 12:05:37 +08:00
609040329a
workflows/mosey-branch: update systemd units 2023-08-18 22:29:27 +08:00
ebafb21bfd
workflows/mosey-branch: add desktop files for core services
We're just imitating how GNOME sets up its components.
2023-08-18 22:26:36 +08:00
9d8324cf19
workflows/mosey-branch: fix build script 2023-08-14 11:21:39 +08:00
85a025f2df
workflows/mosey-branch: add core components unit files 2023-08-14 11:21:06 +08:00
2b07d44ebe
workflows/mosey-branch: update build script to accept components command 2023-08-14 11:20:12 +08:00
0225342a05
workflows/mosey-branch: create desktop session files package
This should make it easier to manage the custom desktop files with the
usual toolchain for configuring and installing custom desktop files
(i.e., Meson). While this could be done with Nix, some parts of
installing files is easier with Meson.

Who knows, it might be reverted because my Nix-fu is pretty weak right
now.
2023-08-12 15:46:03 +08:00
fa698a64cc
workflows/mosey-branch: init
It's not yet fully working and the design is not yet complete. The
foundation should be set with the custom gnome-session configuration
though.
2023-08-11 15:42:34 +08:00
0e6f3cea8c
profiles/desktop: add game controller drivers for hardware submodule 2023-08-04 05:29:56 +08:00
415cd10f9b
profiles/gaming: add game controller drivers 2023-08-04 05:28:59 +08:00
a9ab8e06ef
services/activitywatch: init module 2023-08-02 23:02:03 +08:00
c8cb7b686d
profiles/dev: add flags for Atuin 2023-08-01 17:31:13 +08:00
9c20c6675a
config: update font-related attributes from its deprecated versions 2023-07-29 13:21:20 +08:00
ac39b4cc58
services/wezterm-mux-server: add user and group option
The errors are most likely from wezterm-mux-server trying to start a
shell. This could be configured but it is better to treat this service
similarly to SSH servers.
2023-07-28 08:35:07 +08:00
6dcbb30e4a
config: change internal variable used for checking 2023-07-28 08:30:12 +08:00
f34d793bb6
services/wezterm-mux-server: update hardening settings 2023-07-27 22:21:30 +08:00
9d75a4101f
services/wezterm-mux-server: update service dependency 2023-07-27 13:35:38 +08:00
3c4aef00d4
modules: convert module description to RFC0072-style 2023-07-27 11:13:39 +08:00
f1131fb847
profiles/dev: add configuration for lf 2023-07-25 20:22:16 +08:00
35f0abedd0
profiles/dev: update fzf widget commands 2023-07-24 15:23:32 +08:00
22b8cc86e9
profiles/filesystem: add cluster-wide default setup option 2023-07-24 15:23:05 +08:00
cf92d4584c
profiles/filesystem: add personal webstorage setup 2023-07-24 15:18:28 +08:00
8777fc06e8
profiles/filesystem: add setups namespace
There will be added options that are not exactly filesystem setups.
2023-07-24 15:15:55 +08:00
ddbe28bdc4
modules/mutable-files: add custom fetch type 2023-07-22 11:05:31 +08:00
be9295b6aa
services/matcha: init module 2023-07-22 09:58:45 +08:00
2b87602a67
workflows/a-happy-gnome: add Nautilus extensions 2023-07-21 13:11:57 +08:00
44ccbea7e1
services/wezterm-mux-server: init module 2023-07-20 10:40:04 +08:00
402d58c3da
profiles/server: remove tmux config
There are upcoming options to set up something like Distant or Wezterm
mux server and it is pretty redundant now. It is preferred to set this
into a separate module or just a part of the host.
2023-07-20 10:24:13 +08:00
e8a05bef8b
modules: fix description
Didn't notice it was `mkDocs` instead of `mdDocs`.
2023-07-19 22:46:40 +08:00
28faf41a1c
chore: reformat codebase 2023-07-19 17:27:33 +08:00
3d10612e9b
services/distant: add Distant server daemon
Because of this, the manager and the server services should be opted in
to be enabled.
2023-07-19 08:11:14 +08:00
e42daf3404
services/distant: init home-manager module 2023-07-19 07:38:08 +08:00
d0e8183d8f
profiles/desktop: update list of mpv scripts 2023-07-17 20:17:48 +08:00
e4eed3568a
profiles/dev: disable command-not-found
It should fix the conflict between nix-index and command-not-found.
2023-07-16 19:04:19 +08:00
815be385a2
profiles/desktop: move programs.nix-index to dev profile
We now use the NixOS module for it, too.
2023-07-16 18:12:18 +08:00
b33b7a00c9
profiles/dev: add lsof to default dev packages 2023-07-16 15:32:15 +08:00
22e07b8fa4
profiles/dev: replace Docker with Podman 2023-07-16 15:28:32 +08:00
be66567fec
workflows/a-happy-gnome: update extension list 2023-07-14 22:29:00 +08:00
80f0684a55
profiles/desktop: update OBS Studio config 2023-07-14 20:03:44 +08:00
d524444ae0
modules: manually import the modules
This allows for an easier separation of the private modules compared to
the old `importModules` function. It is also easier to use.
2023-07-14 13:14:14 +08:00
8d41d0b764
workflows/a-happy-gnome: fix isInternal usage 2023-07-14 10:51:03 +08:00
c7461df026
modules/mutable-files: add gopass fetch type 2023-07-07 17:11:15 +08:00
426e4e360a
tasks: refactor with path prefix 2023-07-05 13:14:38 +08:00
240515ed3b
tasks: add prefix for sops secrets key path 2023-07-05 13:04:52 +08:00
245b19e663
profiles/gaming: update games and add comments 2023-07-05 11:42:46 +08:00
fdd723ca33
config: convert to lib.getSecrets 2023-07-05 11:38:58 +08:00
4af6d64ef2
profiles/dev: enable envfs service 2023-06-30 10:47:17 +08:00
53f7cf6e83
chore: reformat codebase 2023-06-29 14:17:38 +08:00
5754583ce0
programs/wezterm: remove conditionals for shell init
`programs.bash.enable` is apparently removed.
2023-06-29 12:30:03 +08:00
e4b5dec7c1
profiles/server: update preference for several values 2023-06-28 14:02:35 +08:00
d42b74b1e9
profiles/server: update journald log retention
Instead of using a service to force it out, we're using the appropriate
journald settings instead.
2023-06-28 14:01:48 +08:00
d98527c89b
hosts/plover: update Bind config for dynamic updates 2023-06-27 22:56:18 +08:00
d1b6376948
programs/wezterm: update shell init config 2023-06-24 10:26:56 +08:00
7ea15ea9fa
profiles/dev: remove extra Bash functions
It turns out fzf has some niceties with history and file selection which
is closer to how I imagine it. PRETTY NICE!

But it does override my Atuin configuration which doesn't have its shell
integration enabled. It does have some conflict with the Wezterm
shell integration. This is a problem for future me to deal with.
2023-06-23 18:15:05 +08:00
1e75e43c5a
profiles/dev: remove Nix profile upgrade user service
It's not useful for much so we're removing it.
2023-06-23 17:13:52 +08:00
795723c17f
profiles/dev: add Zellij configuration 2023-06-23 17:12:43 +08:00
f73108e4e6
profiles/dev: add lazygit configuration 2023-06-23 17:12:31 +08:00
3dfb75a9d4
profiles/dev: add fzf configuration 2023-06-23 17:12:10 +08:00
3ccdbf3b31
workflows/a-happy-gnome: add gnome-decoder to application list 2023-06-11 12:28:07 +08:00
f882f64989
profiles/server: install additional man-pages 2023-06-11 12:27:37 +08:00
1bdda28ffe
chore: reformat codebase 2023-06-08 21:19:17 +08:00
9d99235d94
profiles/gaming: add Steam and its hardware support 2023-06-08 21:16:19 +08:00
59bfa0e9d4
profiles/gaming: add games submodule 2023-06-08 20:00:19 +08:00
bf92556c53
workflows/a-happy-gnome: add Gradience to default app list 2023-06-08 12:17:17 +08:00
33af690062
profiles/desktop: remove Airwave from Wine submodule
It requires to download certain things first which is not easily
available apparently so we'll remove it for now.
2023-06-08 12:15:41 +08:00
451faf08e1
profiles/editors: update Emacs package attribute name 2023-06-08 12:14:05 +08:00
ca57681f01
profiles/vpn: init NixOS module 2023-06-06 12:11:47 +08:00
80400c215a
profiles/gaming: init NixOS module 2023-06-06 12:11:25 +08:00
a1b498f273
profiles/desktop: update fetchurl attributes 2023-06-05 12:04:24 +08:00
1ca789bd86
profiles/desktop: update app list for Wine submodule 2023-06-05 17:44:11 +08:00
d939fb3833
tasks/multimedia-archive: add links for gallery-dl
I don't use this task as much as I did this past few weeks but I like to
think this is a shoddier version of following them. An handwritten OPML
should be the better alternative.
2023-05-27 17:47:38 +08:00
16086329cf
profiles/dev: add moar and dasel 2023-05-27 17:47:16 +08:00