0xda157's home-manager and nixos config
Nix 95.5%
CSS 2.2%
Shell 1.9%
Just 0.4%
1161 1 0

Clone this repository

https://tangled.org/da157.id/nix-config
git@tangled.org:da157.id/nix-config

For self-hosted knots, clone URLs may differ based on your setup.

README.md

0xda157's home-manager and nixos config#

a screenshot of a hyprland desktop with customized waybar and fastfetch and a background with pink flowers

TRANS RIGHTS ARE HUMAN RIGHTS

install#

copy da157 age key1 to ~/.config/sops/age/keys.txt, then run the install script:

sudo -i
bash <(curl -s https://codeberg.org/da157/nix-config/raw/branch/main/install.sh)

layout#

  • disko - disk partitioning
  • home - home manager config
    • apps - application config (eg librewolf)
    • desktops - desktop enviroment config (eg hyprland)
      • shared - programs shared between desktop setups (eg waybar)
    • shell - cli/tui programs (eg tmux)
    • suites - enabling/install a group of programs for a use case (eg dev)
  • homelab - home server nixos modules (eg nextcloud)
  • hosts - each system by hostname (named after moons of saturn)
    • dione - x1 carbon gen 6, testing enviroment
    • enceladus - framework 13, daily driver
    • janus - office pc, future home server
    • tethys - librebooted t480, also testing enviroment
    • titan - amd desktop system
  • nixos - nixos system config
    • host - shared host configuration (eg audio)
  • shared - modules shared between nixos and home manager
    • prefs - user config stuff not convered by stylix (eg border radius, wallpaper)
    • stylix - stylix setup

adding a new nixos host#

mkdir hosts/<hostname>
nixos-generate-config --show-hardware-config --no-filesystems > hosts/nixos/<hostname>/hardware.nix

then add your host inside hosts/nixos/<hostname>/default.nix like this

{
  lib,
  config,
  self,
  inputs,
  ...
}:
{
  imports = [
    inputs.nixos-hardware.nixosModules.<device>
    ./hardware.nix
    (lib.modules.importApply ./disko.nix { })
  ];

  l = {
    boot.enable = true;
    desktop.enable = true;

    monitors = lib.singleton {
      name = "eDP-1";
      width = 1920;
      height = 1080;
      scale = 1.25;
    };
  };

  stylix.image = inputs.wallpapers.<wallpaper>;

  home-manager.users.da157 = {
    suites = {
      desktop = {
        enable = true;
        hyprland.enable = true;
      };
      dev.enable = true;
      media.enable = true;
    };
  };
}

licensing#

the source code of this project is licensed under a modified version of the MIT license. all markdown files are licensed under cc-by-4.0.


  1. age1rgwwryrljsj05sqrmwm7w7tzas8etkyzeudtmz8zz8x8sgt3mdhs4qu7nc ↩︎