Commit Graph

558 Commits

Author SHA1 Message Date
c08289419c
lib/nixos: update to include config 2024-02-28 18:44:27 +08:00
098df7d058
nixos/profiles/installer: init
Not perfect but we'll add more niceties later.
2024-02-27 21:16:53 +08:00
ac036d10a9
modules: fix custom library 2024-02-25 22:27:05 +08:00
5af7ac1c3d
modules: add extra arguments private module
Even easier way to set things up now.
2024-02-25 20:04:29 +08:00
8377dba214
nixos/tinted-theming: remove
Entirely replaced with Bahaghari subproject now.
2024-02-25 20:00:54 +08:00
15a43cd1e5
chore: reformat codebase 2024-02-25 18:20:13 +08:00
c65674c742
docs: update workflows README 2024-02-25 17:44:40 +08:00
db2da4d7d2
nixos/workflows: reclassify as private modules
It doesn't fit with the public module requirement of no reliance of
third-party modules anymore as we'll be using Bahaghari at the near future.
2024-02-23 20:56:32 +08:00
03590ad834
nixos/workflows: disable display manager services
This is now on the individual configurations to enable them since most
workflows are expected to be quite similar to desktop environments like from
default NixOS modules.
2024-02-15 23:14:33 +08:00
a4177f9382
flake-parts/setups: set separate namespace for custom library
This at least allows us to make custom environment-specific library sets.
2024-02-11 15:16:25 +08:00
95b3e7bc2e
nixos/tinted-theming: add templates attribute 2024-02-10 20:05:39 +08:00
79e118e609
{nixos,home-manager,nixvim}/tinted-theming: init 2024-02-10 10:34:03 +08:00
ec881d46a3
nixos/workflows/a-happy-gnome: remove resolved service
IDK why it's there but ehh...
2024-02-06 20:18:48 +08:00
ccfd409912
nixos/workflows/a-happy-gnome: disable Desktop Cube GNOME extension 2024-02-02 17:29:55 +08:00
46d7cf94e0
nixos/workflows/a-happy-gnome: add scratch window bindings for PaperWM 2024-02-02 17:29:30 +08:00
44090d6257
chore: reformat codebase 2024-02-02 12:40:16 +08:00
1b4d91c67b
modules: create dedicated default Nix config profile 2024-01-27 16:51:10 +08:00
9d4db1eae4
nixos/programs/gnome-session: recommend reverse DNS-like naming scheme as DE identifier 2024-01-26 18:02:03 +08:00
c2513f94ea
nixos/profiles/desktop: make Pipewire the preferred audio setup
We can still modularize those imports even if we have problems with it.
2024-01-26 16:49:44 +08:00
677b57cad7
nixos/profiles/desktop: make Nix more of a background process 2024-01-26 16:49:02 +08:00
e5d0f3279b
nixos/programs/gnome-session: refactor and update comments 2024-01-25 18:59:19 +08:00
07510b2257
nixos/programs/sessiond: refactor and update comments 2024-01-25 18:55:57 +08:00
3cafa9f613
nixos/suites/desktop: modularize submodules into dedicated profiles
It's practically enabled every time so why not set them as profiles instead.
The structure should be enough for some control over what is enabled.
2024-01-25 18:52:07 +08:00
6737cd1d16
nixos/suites/gaming: fix erroneous attribute 2024-01-25 12:18:46 +08:00
7de6c0b422
nixos/programs/sessiond: update session service config 2024-01-25 12:18:02 +08:00
952fde19cf
nixos/programs/sessiond: add session example 2024-01-25 12:17:47 +08:00
b45f061db7
nixos/programs/gnome-session: update comments 2024-01-24 10:41:06 +08:00
1d3bc3c013
nixos/programs/sessiond: init 2024-01-24 10:40:22 +08:00
d1dc2953c7
nixos/programs/gnome-session: properly modularize and refactor 2024-01-23 11:31:20 +08:00
58e9380ad2
modules: rename suites private module in the filesystem
To make it less hurting for inspecting commits.
2024-01-22 14:52:00 +08:00
9b7cc8a850
modules: move profiles custom namespace to suites
We now have a "proper" profiles modules ala-nixpkgs so we'll have to move
these to make it less confusing.
2024-01-22 14:48:55 +08:00
d5c5ac2f0c
nixos/profiles/server: remove hardened-config submodule
We're also moving it to a profiles module ala-nixpkgs.
2024-01-22 12:21:37 +08:00
fc3f7eb7c7
nixos/profiles/server: remove headless submodule
Now this is moved as a "proper" profile module ala-nixpkgs. Also because
we can use not only on server systems.
2024-01-22 12:19:36 +08:00
a4402aa04f
nixos/profiles/generic: init
We'll have to move the `profiles` modules into a new namespace. It will
get confusing in the future.
2024-01-22 12:17:48 +08:00
5232684467
chore: update notes for gnome-session 2024-01-21 20:12:51 +08:00
8134ff798f
nixos/programs/gnome-session: remove script wrapper 2024-01-21 20:08:54 +08:00
1915a106c9
chore: update comments 2024-01-20 17:22:49 +08:00
440b9fed2f
nixos/programs/kiwmi: remove
Haven't used it and kiwmi doesn't build and get updated much.
2024-01-20 17:18:11 +08:00
7bb0b0dd1f
modules: restructure private modules directory 2024-01-20 17:16:02 +08:00
4671d1654b
nixos/workflows/a-happy-gnome: add more extensions 2024-01-17 17:58:34 +08:00
d3e0802d38
chore: reformat codebase 2024-01-16 15:19:51 +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
701a1b609f
profiles/dev: add hardware submodule 2023-12-25 20:05:49 +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
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
9e170dd6ec
profiles/gaming: simplify the default setup 2023-12-22 08:57:41 +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
35f2d5b9b8
config: add comments 2023-12-18 18:44:27 +08:00
b9294d8f39
profiles/dev: move more stuff to extras submodule 2023-12-18 08:59:25 +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
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
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
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
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
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
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
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
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
c410ece05a
treewide: remove options attribute for modules 2023-10-02 14:26:11 +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
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