My personal NixOS configuration
Find a file
Evie Litherland-Smith 06ddbbdc20 flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/a30f5b5b35e2d974fb5e1a3721eaec723ef48c89' (2023-07-24)
  → 'github:nix-community/home-manager/d309a62ee81faec56dd31a263a0184b0e3227e36' (2023-07-24)
• Updated input 'hyprland':
    'github:hyprwm/Hyprland/6db3c4ef5ec21f415577a26b0cdf57c98a778eb5' (2023-07-24)
  → 'github:hyprwm/Hyprland/f5913135c638997f8c13a52d0760803947ae3889' (2023-07-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/12303c652b881435065a98729eb7278313041e49' (2023-07-22)
  → 'github:NixOS/nixpkgs/b12803b6d90e2e583429bb79b859ca53c348b39a' (2023-07-24)
2023-07-25 06:48:28 +01:00
auth Add Northstar ssh key to authorized_keys 2023-06-04 09:40:41 +01:00
home Some extra emacs configs, add LSP and tree-sitter 2023-07-24 22:10:01 +01:00
hosts Some extra emacs configs, add LSP and tree-sitter 2023-07-24 22:10:01 +01:00
services More syncthing option renaming 2023-07-24 13:30:39 +01:00
.gitignore Enable nix-direnv integration to cache direnv builds 2023-05-31 11:18:45 +01:00
.pre-commit-config.yaml Re-enable pre-commit using stylua 2023-03-03 11:42:43 +00:00
.stylua.toml Add custom styling to wezterm tab bar, move stylua.toml to top level directory 2023-02-19 12:16:22 +00:00
flake.lock flake.lock: Update 2023-07-25 06:48:28 +01:00
flake.nix Add doom-emacs and template config 2023-07-24 16:45:19 +01:00
Makefile Use custom neovim flake, centralise tokyonight source 2023-07-24 13:27:05 +01:00
README.md Add cspell ignored words 2023-05-19 08:57:42 +01:00

Personal NixOS configs

Contains

  • System definitions for various personal and work machines
  • Desktop environment configs
    • Plasma
    • Hyprland
  • Personal server config
  • Personal home environment definitions

Installation

Makefile handles most things. Running make will determine if this is a NixOS or Nix home-manager only install. make nixos and make home execute either explicitly.

NixOS

Clone repo into /etc/nixos/config, make nixos will do this for you otherwise. Edit your /etc/nixos/configuration.nix to import top level expression, e.g.:

{ config, pkgs, ... }: {
  imports =
    [
      # Other imports (e.g. ./hardware-configuration.nix)
      ./config/hostname.nix
    ];
  # Rest of your configuration.nix goes here
}

Nix home-manager

Must have nix installed to proceed

Clone repo and run make or make home, a machine and user specific home-manager config will be created if it doesn't already exist, and then linked to $XDG_CONFIG_HOME/home-manager/. Execute:

nix-shell -p home-manager -- run "home-manager switch -b backup"

to install configuration. Home-manager will self-manager after this.