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