Note
If you are viewing this on GitHub, this is a mirror of the real repo at
https://git.tsrk.me/tsrk/tsrk-nix-flex
Redoing infra right now. For the time being this is the official source.
This is my all-in-one NixOS and Home-Manager configuration.
The structure of this configuration is largely inspired by the one used by EPITA for their NixOS deployment1.
The homes/
directory contains standalone Home-Manager configurations.
Currently, this is used for the Intel NUC provided by my school for which I was
only allowed to install Arch Linux on it.
This might be also used for the actual configuration of my school session.
The hosts/
directory contains NixOS systems declarations for different hosts
I have.
The lib/
diretory contains some util functions to avoid a lot of boilerplate
config to do by hand.
The modules/
directory contains modules for NixOS, Nixvim and Home-Manager.
Cool thing about them is that you can use them without depending on my inputs!
You can use them by using the nixosModules
output:
{
description = "My cool flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
tsrk = "github:ItsShamed/tsrk-nix-flex";
outputs = { nixpkgs, tsrk } @ inputs:
{
nixosConfigurations.my-configuration = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
tsrk.nixosModules.packages
{
tsrk.packages.pkgs.base.enable = true;
}
];
};
}
};
}
The overlays/
directory contains nixpkgs overlays for various packages so that
they fit for my needs without having to inline them in modules.
The pkgs/
directory contains custom packages not available on upstream
nixpkgs
, and a standalone binary of my Nixvim configuration (nvim-cirno
).
The profiles/
directory contains a set of NixOS and Home-Manager modules with
defaults configurations.
Like modules, you can use them via the nixosModules
output. To use them you
just have to prefix the name of the profile you want to use with profile-
.
Warning
There are some profiles (like profile-tsrk-private
) that are encrypted with
Git-Crypt (for privacy reasons) and you cannot use them.
I use agenix to manage secrets needed for my NixOS configurations.
- [~] Finish polishing i3 environment
- [-] Create hyprland environment
All unencrypted files which include a license header are licensed under the MIT License. Please refer to the LICENSE file for more info.