Commit Graph

695 Commits

Author SHA1 Message Date
d2993a367b
flake-parts/setups: refactor 2024-01-17 14:02:02 +08:00
8a9e20b5f4
flake-parts/setups: update Nix modules to be more self-contained 2024-01-17 14:00:32 +08:00
b08945aa39
flake-parts/setups: update deploy-rs node default config 2024-01-16 21:47:57 +08:00
93dbf68166
flake-parts/setups: fix the word casing consistency of the options 2024-01-16 21:47:32 +08:00
6ae54e2b55
flake-parts/setups/nixos: fix images output build 2024-01-16 18:57:33 +08:00
1825a97c74
flake-parts/setups: fix deploy-rs nodes config 2024-01-16 15:46:52 +08:00
d3e0802d38
chore: reformat codebase 2024-01-16 15:19:51 +08:00
9e3469e752
setups: replace as flake-parts module 2024-01-16 14:54:50 +08:00
b06a06888f
flake.nix: add images flake output 2024-01-16 07:21:31 +08:00
7c91a7dcdc
programs/gnome-session: refactor parts of config 2024-01-10 16:27:41 +08:00
e16afaca97
programs/gnome-session: change display choice "xorg" to "x11" 2024-01-10 16:27:18 +08:00
8e09719b5f
profiles/server: update hardened kernel packages to 6.6 2024-01-10 15:40:17 +08:00
929d3968ad
programs/gnome-session: set session systemd user units as part of NixOS
While it is nice to have it as part of the desktop session package,
we're missing features which requires reimplementing parts of the
systemd-lib anyways. We can always have this later once this is
upstreamed into nixpkgs where one could modify systemd-lib to split
the unit generation step. Right now, not willing to do that.
2024-01-09 10:45:43 +08:00
459446ab02
programs/gnome-session: add desktopNames for sessions
This is to make creating customized of already existing sessions (such
as from GNOME) possible.
2024-01-08 12:23:51 +08:00
4f286dbc28
docs: remove relevant sections to custom check variables 2024-01-07 17:34:29 +08:00
72ba0b9028
programs/gnome-session: modularize submodules 2024-01-07 17:31:34 +08:00
c3ffbd9f69
workflows/mosey-branch: remove
It served its purpose as a reference for making a custom gnome-session
session for now.
2024-01-07 17:30:04 +08:00
d756ca2796
programs/gnome-session: update session desktop file
For now, the desktop name is hardcoded but we'll figure out a way to configure
that nicely.
2024-01-07 10:21:47 +08:00
0cb9d89b03
workflows/a-happy-gnome: reformat 2024-01-06 19:16:32 +08:00
1957df91ea
chore: reformat codebase 2024-01-06 19:10:54 +08:00
8b8f570906
programs/gnome-session: update module descriptions 2024-01-06 18:56:07 +08:00
da5a938a8a
programs/gnome-session: add requiredComponents for session
This is to make requiring desktop components from other packages easier.
2024-01-06 18:50:03 +08:00
0db8bd090b
programs/gnome-session: support multiple display protocols
Not every setup exclusively support either Wayland or X11. This should also
make customized GNOME sessions (like a minimal version of GNOME) easier.
2024-01-06 12:40:17 +08:00
74295899be
programs/gnome-session: update module descriptions and comments 2024-01-04 17:34:46 +08:00
8169228b0e
programs/gnome-session: set more default values for desktop service unit config 2024-01-04 17:34:19 +08:00
645edd1428
programs/gnome-session: add display session option
Although gnome-session is on its way to fully drop X11 support, we'll have
that option for now at least until the next NixOS release.
2024-01-04 17:33:31 +08:00
51d123f667
programs/gnome-session: fix and refactor executable location for built-in managed sessions 2024-01-04 17:31:40 +08:00
1299b8156a
programs/gnome-session: add optional timer, socket, and path systemd unit option for desktop components 2024-01-04 17:30:35 +08:00
f7dd146de2
programs/gnome-session: set various options as nonEmptyStr type 2024-01-04 16:58:49 +08:00
b30691629b
programs/gnome-session: add package to system environment 2024-01-03 15:40:02 +08:00
3aef91614b
programs/gnome-session: rename systemd unit options 2024-01-03 15:26:23 +08:00
67b3c96869
programs/gnome-session: update comments 2024-01-03 11:53:14 +08:00
f592c5b8ef
programs/gnome-session: remove session prefix option
Pretty useless and will make for a confusing step in the future. We can
just make use of the attribute name already which we could nudge the
user with some recommended practice or something.
2024-01-02 20:26:36 +08:00
6cd1d0baa1
programs/gnome-session: generate systemd units in desktop session package
Didn't know it was possible to simply have it generated which is a nicer
solution.
2024-01-02 16:23:12 +08:00
922680d131
programs/gnome-session: simplify session specialArgs
Make it non-problematic for the future.
2024-01-02 16:21:47 +08:00
0b46826cb3
programs/gnome-session: change componentsType.desktopConfig type to composite type
`lib.types.attrs` does not have good merging step for priority values
so we changed it to `attrsOf anything`.
2024-01-02 16:20:29 +08:00
72449a9322
programs/gnome-session: improve desktop session build step 2024-01-02 16:17:16 +08:00
3331c03a08
programs/gnome-session: init 2024-01-03 23:30:55 +08:00
9bb03e86b8
chore: reformat codebase 2024-01-01 13:56:10 +08:00
da2dc887e7
workflows/a-happy-gnome: move to programs.dconf.profiles setup
We can even combine already existing keyfiles with Nix data which is nice.
2023-12-28 16:37:12 +08:00
b3ff513304
workflows/a-happy-gnome: update configuration 2023-12-28 16:31:30 +08:00
3afb2e4d56
workflows: remove conditional config
Now this is handled on the host-specific modules.
2023-12-27 09:27:02 +08:00
193a4796ed
config: improve parts of the codebase 2023-12-26 10:20:32 +08:00
201a4bc1b6
docs: update modules and Plover README 2023-12-26 10:00:30 +08:00
701a1b609f
profiles/dev: add hardware submodule 2023-12-25 20:05:49 +08:00
1c46785807
profiles/desktop: update mpv profiles 2023-12-24 18:38:40 +08:00
39c0bb2d8f
profiles/gaming: update RetroArch package
We'll use more cores if necessary.
2023-12-24 18:18:56 +08:00
55b475b6f0
profiles/desktop: update nix-ld libraries list 2023-12-24 18:18:23 +08:00
28d0b5a85b
profiles/editors: revert Neovim setup to default package 2023-12-24 18:12:39 +08:00
709bd491c8
profiles/dev: add virt-top 2023-12-23 20:33:23 +08:00
c7c6cc4620
profiles/dev: revert to default package 2023-12-23 20:33:02 +08:00
6e3b0aa232
profiles/dev: enable eza aliases 2023-12-23 20:32:37 +08:00
e0bb3b2b59
files/mutable-files: change postScript type to lines
Didn't realize you cannot merge strings.
2023-12-23 18:44:06 +08:00
6d2d1dc5af
files/mutable-files: refactor fetch script generation
Taking advantage of Nix's lazyness, at least.
2023-12-23 18:41:51 +08:00
9e170dd6ec
profiles/gaming: simplify the default setup 2023-12-22 08:57:41 +08:00
6e9a8e4f24
files/mutable-files: update example 2023-12-20 22:07:09 +08:00
0bee8052a9
config: remove fxcast-bridge as part of Firefox addons
I don't use it much and it is failing to build so leave it.
2023-12-20 11:25:28 +08:00
a2dfc6f3b9
modules: remove unnecessary function attributes 2023-12-20 10:48:32 +08:00
220f7ad528
profiles/desktop: enable v4l2loopback 2023-12-20 10:44:42 +08:00
aa2a21d0fc
modules: improve conditional config for system config integration 2023-12-19 17:54:55 +08:00
35f2d5b9b8
config: add comments 2023-12-18 18:44:27 +08:00
0e4b30655e
profiles/desktop: conditionally add yabridge tools 2023-12-18 18:01:54 +08:00
b9fbcc958a
profiles/desktop: init audio.pipewire submodule 2023-12-18 09:01:50 +08:00
b9294d8f39
profiles/dev: move more stuff to extras submodule 2023-12-18 08:59:25 +08:00
a26aa49614
profiles/dev: simplify home-manager configuration
Similar change. With user-specific modules, we can make this more generic.
2023-12-18 00:16:48 +08:00
a25603142c
profiles/gaming: remove virtual machines setup
It's not needed anymore (also because it changed).
2023-12-20 10:49:05 +08:00
40d286ac3a
profiles/dev: separate containers and virtual machines setup 2023-12-18 00:11:11 +08:00
3d94c89bea
profiles/dev: simplify the configuration
Now with host-specific and user-specific modules, we can now start
remove parts of the modules with my configurations on them that are
otherwise intended for the entire cluster.
2023-12-18 00:00:55 +08:00
d031f442d5
profiles/editors: simplify default editor configurations
Now it should be easier to build upon it for other home-manager users.
2023-12-17 20:13:22 +08:00
5d5389a87f
profiles/editors: move Emacs submodule as foo-dogsquared's module
No other module is using it so we'll move it.
2023-12-17 18:01:39 +08:00
5c6562fd05
modules: delete tasks module
These are now replaced by host-specific modules.
2023-12-15 20:23:18 +08:00
c2a5840cce
tasks/multimedia-archive: migrate as ni's host-specific module
It is also used exclusively by that host so pretty much useless
as a shared module.
2023-12-15 20:22:08 +08:00
34047a49b4
tasks/backup-archive: migrate as ni's host-specific module
In practice, this is only used by it.
2023-12-15 14:14:15 +08:00
69bdcda87a
workflows: fix project-specific conditional config 2023-12-14 11:51:00 +08:00
3714f843d0
chore: reformat codebase 2023-12-13 11:28:45 +08:00
9dc2df5397
profiles/i18n: refactor module 2023-12-13 11:24:04 +08:00
65cf940db7
profiles/research: move as foo-dogsquared's user module
Because in practice, this is only used by it.
2023-12-13 11:10:02 +08:00
509ac5cdef
hosts/ni: format into new host-specific module structure 2023-12-12 21:20:55 +08:00
f3f896d769
services/bleachbit: make cleaners list unique 2023-12-12 09:58:49 +08:00
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