summaryrefslogtreecommitdiff
path: root/shared/nixos
diff options
context:
space:
mode:
authorLinnnus <[email protected]>2024-12-22 10:58:36 +0000
committerLinnnus <[email protected]>2024-12-27 09:07:52 +0100
commit3bf29c686274e19576aeb4f19510fa0702d2cb0c (patch)
treef14ab6d1983ac09514abf1ebe1a34ddd17ca6472 /shared/nixos
parenta323c5058b31de63c2e88716b01bd41a38faa5ef (diff)
Move shared nix{os,-darwin} config to shared/nixos-and-darwin
Diffstat (limited to 'shared/nixos')
-rw-r--r--shared/nixos/common-hm-settings/default.nix27
-rw-r--r--shared/nixos/common-nix-settings/default.nix59
-rw-r--r--shared/nixos/common-shell-settings/default.nix44
3 files changed, 0 insertions, 130 deletions
diff --git a/shared/nixos/common-hm-settings/default.nix b/shared/nixos/common-hm-settings/default.nix
deleted file mode 100644
index 9262f51..0000000
--- a/shared/nixos/common-hm-settings/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-# This module sets common settings related to home-manager (HM). All hosts that
-# I directly interact with should include this module.
-#
-# NOTE: Even though this lives under `shared/nixos` the configuration in here
-# should also be compatible with nix-darwin!!
-{
- flakeInputs,
- flakeOutputs,
- metadata,
- ...
-}: {
- # FIXME: Ideally this module would import flakeInputs.home-manager but that causes an infinite recursion for some reason.
-
- # Use the flake input pkgs so Home Manager configuration can share overlays
- # etc. with the rest of the configuration.
- home-manager.useGlobalPkgs = true;
-
- # Pass special arguments from flake.nix further down the chain. I really hate
- # this split module system.
- home-manager.extraSpecialArgs = {inherit flakeInputs flakeOutputs metadata;};
-
- # All interactive systems (i.e. the ones that would use HM) have a 'linus' user.
- home-manager.users.linus = {
- imports = builtins.attrValues flakeOutputs.homeModules;
- xdg.enable = true;
- };
-}
diff --git a/shared/nixos/common-nix-settings/default.nix b/shared/nixos/common-nix-settings/default.nix
deleted file mode 100644
index 6a34cac..0000000
--- a/shared/nixos/common-nix-settings/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-# This module sets common settings related to Nix such as enabling flakes and
-# using overlays everywhere..
-#
-# NOTE: Even though this lives under `shared/nixos` the configuration in here
-# should also be compatible with nix-darwin!!
-{
- pkgs,
- lib,
- config,
- flakeInputs,
- flakeOutputs,
- ...
-}:
-lib.mkMerge [
- {
- # Enable de facto stable features.
- nix.settings.experimental-features = ["nix-command" "flakes"];
-
- nixpkgs.overlays = [
- # Use local overlays.
- flakeOutputs.overlays.additions
- flakeOutputs.overlays.modifications
-
- # Add unstable nixpkgs.
- (final: prev: {unstable = flakeInputs.nixpkgs-unstable.legacyPackages.${pkgs.system};})
- ];
-
- # I'm not *that* vegan.
- nixpkgs.config.allowUnfree = true;
-
- # This will add each flake input as a registry
- # To make nix3 commands consistent with your flake
- nix.registry = lib.mapAttrs (_: value: {flake = value;}) flakeInputs;
-
- nix.nixPath =
- [
- # Use overlays from this repo for building system configuration as well as system-wide.
- # See: https://nixos.wiki/wiki/Overlays#Using_nixpkgs.overlays_from_configuration.nix_as_.3Cnixpkgs-overlays.3E_in_your_NIX_PATH
- "nixpkgs-overlays=${flakeInputs.self}/overlays/compat.nix"
- ]
- # This will additionally add out inputs to the system's legacy channels
- # Making legacy nix commands consistent as well, awesome!
- ++ lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
-
- # Add shell-utilities which are only relevant if Nix is enabled.
- environment.systemPackages = with pkgs; [
- # For running programs easily.
- nix-index # Also includes nix-locate
- flakeInputs.comma.packages.${system}.default
-
- # For editing secrets.
- flakeInputs.agenix.packages.${system}.default
- ];
- }
- (lib.mkIf pkgs.stdenv.isLinux {
- # There is not nix-darwin equivalent to this NixOS option.
- nix.enable = true;
- })
-]
diff --git a/shared/nixos/common-shell-settings/default.nix b/shared/nixos/common-shell-settings/default.nix
deleted file mode 100644
index ec71861..0000000
--- a/shared/nixos/common-shell-settings/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-# This module sets options to ensure a consistent Baseline Shell Experince™
-# across the entire fleet. This includes e.g. common utilities and aliases.
-#
-# NOTE: Even though this lives under `shared/nixos` the configuration in here
-# should also be compatible with nix-darwin!!
-{pkgs, ...}: {
- # Set ZSH as the shell.
- # https://nixos.wiki/wiki/Command_Shell#Changing_default_shelltrue
- programs.zsh.enable = true;
- environment.shells = [pkgs.zsh];
-
- # Very basic system administration tools.
- environment.systemPackages = with pkgs; [
- curl
- jq
- moreutils
- neovim
- tree
- ];
-
- # Aliases that are burned into my muscle memory.
- environment.shellAliases = {
- "mv" = "mv -i";
- "rm" = "rm -i";
- "cp" = "cp -i";
- "ls" = "ls -F -G -A --color=auto";
- "grep" = "grep --color=auto";
- "file" = "file --no-dereference";
- "tree" = "tree --dirsfirst --gitignore";
-
- # See: https://github.com/NixOS/nix/issues/5858
- "nix" = "nix --print-build-logs";
-
- ".." = "cd ../";
- "..." = "cd ../../";
- "...." = "cd ../../../";
- "....." = "cd ../../../../";
- "......" = "cd ../../../../../";
- "......." = "cd ../../../../../../";
- "........" = "cd ../../../../../../../";
- "........." = "cd ../../../../../../../../";
- ".........." = "cd ../../../../../../../../../";
- };
-}