feat: NixOS template for new users #33

Open
8bitbuddhist wants to merge 14 commits from new-user-templates into main
Member

This is an overhaul of the NixOS system template meant to ease new users into the NixOS way of configuring systems.

  • Adds a bunch of options under the aux.system namespace for enabling/disabling common system features, like GPU drivers and desktop environments.
  • Adds some opinionated defaults, like monthly garbage collection, Flakes, and smartd.
  • Adds some optional features like Secure Boot and Flatpak support.
This is an overhaul of the NixOS system template meant to ease new users into the NixOS way of configuring systems. - Adds a bunch of options under the `aux.system` namespace for enabling/disabling common system features, like GPU drivers and desktop environments. - Adds some opinionated defaults, like monthly garbage collection, Flakes, and smartd. - Adds some optional features like Secure Boot and Flatpak support.
8bitbuddhist added the
Kind/Feature
label 2024-06-16 18:55:28 +00:00
8bitbuddhist added 7 commits 2024-06-16 18:55:28 +00:00
Initial working commit for new user system templates
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
27ddb4119d
feat: Add more options and defaults to the new user template
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
ecf935a4f7
feat: Re-enable abort conditions in new user template
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2cf855bfae
chore: Change template namespace to 'aux.system'
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
54f4de49f4
feat: Add GPU support to new user template
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
2590f106b6
chore: Namespacing; update top-level Readme
Some checks are pending
Code Check / Run nixfmt and statix (push) Waiting to run
249b7d7bc0
feat: Add Flatpak support
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
9557d65423
chore: Prep for PR
Owner

Neat! I would mention that it is worth being extremely cautious introducing options, especially under the aux namespace. These are probably fine, but it is worth considering how things may shape up in the future and whether we will want certain option names/groups to be available.

Neat! I would mention that it is worth being extremely cautious introducing options, especially under the `aux` namespace. These are probably fine, but it is worth considering how things may shape up in the future and whether we will want certain option names/groups to be available.
jakehamilton reviewed 2024-06-16 20:40:50 +00:00
system/flake.nix Outdated
@ -4,1 +4,3 @@
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
inputs = {
# Import Auxolotl libs
auxlib.url = "https://git.auxolotl.org/auxolotl/labs/archive/main.tar.gz?dir=lib";
Owner

We probably don't want to be relying on anything in labs.

We probably don't want to be relying on anything in `labs`.
8bitbuddhist marked this conversation as resolved
8bitbuddhist added 1 commit 2024-06-16 22:03:16 +00:00
chore: Remove Aux Libs input
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
3ea2d1bbfb
Author
Member

Neat! I would mention that it is worth being extremely cautious introducing options, especially under the aux namespace. These are probably fine, but it is worth considering how things may shape up in the future and whether we will want certain option names/groups to be available.

Makes sense. I didn't expect these would be final, I just tried picking a namespace that I thought would be relatively safe. I can always go back and update this if needed.

> Neat! I would mention that it is worth being extremely cautious introducing options, especially under the `aux` namespace. These are probably fine, but it is worth considering how things may shape up in the future and whether we will want certain option names/groups to be available. Makes sense. I didn't expect these would be final, I just tried picking a namespace that I thought would be relatively safe. I can always go back and update this if needed.
8bitbuddhist added 1 commit 2024-06-22 15:48:47 +00:00
Fix funky unicode quotes
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
8ca6adecb4
8bitbuddhist added 2 commits 2024-06-22 16:38:01 +00:00
feat: Add Lix to new user template
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
94377f7487
8bitbuddhist added 1 commit 2024-06-22 16:50:32 +00:00
bugfix: Remove lingering reference to auxlibs; Leave Totem in Gnome installs
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
942a0e41bb
isabelroses reviewed 2024-06-22 16:56:51 +00:00
@ -0,0 +20,4 @@
};
};
config = lib.mkMerge [
(lib.mkIf cfg.allowUnfree { nixpkgs.config.allowUnfree = true; })
Owner

we can avoid lib.mkMerge here since cfg.allowUnfree is a boolean we can set it directly too nixpkgs.config.allowUnfree

we can avoid `lib.mkMerge` here since `cfg.allowUnfree` is a boolean we can set it directly too `nixpkgs.config.allowUnfree`
8bitbuddhist marked this conversation as resolved
isabelroses reviewed 2024-06-22 16:59:21 +00:00
@ -0,0 +35,4 @@
pulse.enable = true;
jack.enable = true;
# Reduce audio latency per https://nixos.wiki/wiki/PipeWire#Low-latency_setup
Owner

If we reference the nix wiki we should use https://wiki.nixos.org/wiki/PipeWire#Low-latency_setup

If we reference the nix wiki we should use https://wiki.nixos.org/wiki/PipeWire#Low-latency_setup
8bitbuddhist marked this conversation as resolved
8bitbuddhist added 1 commit 2024-06-22 17:40:00 +00:00
chore: Simplify Nix config file in template
Some checks failed
Code Check / Run nixfmt and statix (push) Waiting to run
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
1dccfba71a
8bitbuddhist added 1 commit 2024-06-23 14:19:23 +00:00
bugfix: Add splash boot parameter to template.
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
286052b183
chore: Swap wiki link for new NixOS wiki
minion approved these changes 2024-06-23 17:37:41 +00:00
Dismissed
minion left a comment
Owner

This looks reasonable to me, if you've tested it then please feel free to merge - if not, I'll do so later

This looks reasonable to me, if you've tested it then please feel free to merge - if not, I'll do so later
Owner

Also: please read up on conventional commits: it seems that you're using nonstandard things (e.g. bugfix rather than fix) and have missed stuff on some commits. If you can rebase this before merging, that would be awesome!

Also: please read up on conventional commits: it seems that you're using nonstandard things (e.g. bugfix rather than fix) and have missed stuff on some commits. If you can rebase this before merging, that would be awesome!
Author
Member

Also: please read up on conventional commits: it seems that you're using nonstandard things (e.g. bugfix rather than fix) and have missed stuff on some commits. If you can rebase this before merging, that would be awesome!

Will do! I found some other things in the meantime, so I'll switch this to WIP while getting all of that sorted out.

> Also: please read up on conventional commits: it seems that you're using nonstandard things (e.g. bugfix rather than fix) and have missed stuff on some commits. If you can rebase this before merging, that would be awesome! Will do! I found some other things in the meantime, so I'll switch this to WIP while getting all of that sorted out.
8bitbuddhist changed title from feat: NixOS template for new users to WIP: feat: NixOS template for new users 2024-06-24 18:15:04 +00:00
minion dismissed minion's review 2024-06-27 19:42:31 +00:00
8bitbuddhist force-pushed new-user-templates from 286052b183 to 4eb943d047 2024-06-29 17:02:14 +00:00 Compare
8bitbuddhist force-pushed new-user-templates from 4eb943d047 to c525e75d93 2024-06-29 17:31:01 +00:00 Compare
8bitbuddhist changed title from WIP: feat: NixOS template for new users to feat: NixOS template for new users 2024-06-29 17:32:38 +00:00
Author
Member

Rebasing is done! I clarified the scope of each commit, and filled in missing details.

Rebasing is done! I clarified the scope of each commit, and filled in missing details.
Owner

f77f3d0cb8 Should be 2 separate commits, one which fixes the issue, and another that adds the features.

https://git.auxolotl.org/auxolotl/templates/commit/f77f3d0cb8a78451292d3db80160729377aca18c Should be 2 separate commits, one which fixes the issue, and another that adds the features.
Owner
https://git.auxolotl.org/auxolotl/templates/commit/cc4c0e307b5d2b3e6118b1e9df245586f27f7c0a#diff-0e9915e5a48567cae3374ca28f1e330e3e0c61aa Likely should not be here?
Owner

7799a1630b Should be 2 separate commits

https://git.auxolotl.org/auxolotl/templates/commit/7799a1630b55e977125ab3be045257a450db5d2a Should be 2 separate commits
8bitbuddhist force-pushed new-user-templates from c525e75d93 to 2ad4895454 2024-06-30 17:26:21 +00:00 Compare
8bitbuddhist force-pushed new-user-templates from 2ad4895454 to 33efba78de 2024-07-10 00:09:22 +00:00 Compare
8bitbuddhist force-pushed new-user-templates from 33efba78de to 8d2062bd74 2024-07-11 22:00:01 +00:00 Compare
8bitbuddhist force-pushed new-user-templates from 8d2062bd74 to 3b0a0ef579 2024-07-11 22:13:17 +00:00 Compare
8bitbuddhist added 1 commit 2024-07-20 15:35:25 +00:00
Merge branch 'main' into new-user-templates
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
aa3969a758
Author
Member

@coded I did another pass and cleaned up the messy commits. How does this look?

@coded I did another pass and cleaned up the messy commits. How does this look?
Some checks failed
Code Check / Run nixfmt and statix (push) Has been cancelled
Code Check / Run nixfmt and statix (pull_request) Has been cancelled
This pull request has changes conflicting with the target branch.
  • README.md

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin new-user-templates:new-user-templates
git checkout new-user-templates

Merge

Merge the changes and update on Forgejo.
git checkout main
git merge --no-ff new-user-templates
git checkout main
git merge --ff-only new-user-templates
git checkout new-user-templates
git rebase main
git checkout main
git merge --no-ff new-user-templates
git checkout main
git merge --squash new-user-templates
git checkout main
git merge --ff-only new-user-templates
git checkout main
git merge new-user-templates
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: auxolotl/templates#33
No description provided.