IF YOU ARE NOT ME: I would not use this configuration. In the past I
would feel confident telling you to drop in your own host and be off to
the races, but right now users are in a state which required hard coding
some of my nominal preferences. Read on for more specifics
Completely refactors the flake.nix part of the repo. This removes my
strange legacy code for directory-based hosts+users in favor of using
easy-host and flake-parts.
As a result of this some specialArgs were lost, namely the list of users
and the username being passed. I think this is the right way to go in
the short term, but it has lead to some hardcoded values. Namely "pan"
is created as a user regardless of configuration
In tandem with this is the deprecation of some modules which had inputs
in flake which I wasn't using. I'm sure there is a better way to do
this, but I didn't like downloading and caching them every time when I
knew I wasn't using them.
I'm currently very unhappy with the users part of this change, but that
wasn't the goal of this branch. I will revisit in a larger commit.
disable tailscale, hypr, steam; rofi, musescore, and timer notifications
enable postgres, niri
Hypr and niri are essentially swapped for one another. Though they are
not mutually exclusive. A similar interface to shells would do good for
window managers.
Sets up a config for Niri which involved both the host and user config
settings. It's a semi basic set up to be improved on further later.
This also needs to bump flake so that niri can be added to the flake
update. I don't know what the flake bump date was at this point, so I'll
have to bump it again soon.
This needs to break apart the "waylandcompositors" service to allow niri
and hypr to better fit the directory structure. Otherwise Hypr is
unchanged.
need to update the tuigreet default WM based on the currently selected
one. Currently prioritizes Hyprland > Niri because I didn't want to
write assert code...
The old .gitignore contained the hypr icons path. Newer versions of nix
did not want to rebuild because hypr/icons didn't exist in git. The fix
was simple to move the .gitignore from the home directory to inside of
the icons folder and include it. That way icons can be added and the
folder exists.
Oh--this also adds musescore because that was the impetus to fix this...
It has nothing critical to do with the commit, I'd just rather have them
in one rn
adds a new specialArg to hosts: usernameList, which is a list of users
determined through user/user.nix in the host/hostname dir.
This touches syncthing, tuigreet, jibril, shells, and system
removes the user.name field, and converts user.timezone to
system.timezone. This is to move user content off of the host.
This old system is replaced with dynamic user creation based on the
usernameList variable
Because this removes the users.users.defaultUser shells now use the
(more appropriate) users.defaultUserShell
This converts from the old manually defined users in flake.nix to a
dynamically defined users based on the directory structure. This is the
same as ba5fd48 but for users instead of hosts.
This adds some code to flake.nix to read the directory of hosts/ and
find all hosts based on their host.nix file, and set the hostname based
on the directory.
I don't know enough about hostnames to know what are valid characters,
but in the future this could allow a hostname such as "servers/madoka"
which may be an issue. For now the structure is simple enough of
"hosts/name" resulting in hostname "name"
Another commit is planned which will do the same thing for users
Previously the home-manager and nixos sections of my config had been
separated into different branches on the same repository. This commit
merges the home-manager modules into the directory, and convert the
"systems" that used to be on each branch into hosts and users.
The goal of this change is to make it easier to see the hosts and users
paradigm, as well as limit the number of locations the git repository is
installed. Additionally, having different branches tracking different
changes was silly for a git repository.