chore: reorganise common modules

Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
This commit is contained in:
Lander Van den Bulcke 2024-08-28 10:30:00 +02:00
parent eebd71f003
commit 7230527d95
Signed by: lander
GPG key ID: 0142722B4B0C536F
13 changed files with 109 additions and 124 deletions

View file

@ -24,23 +24,15 @@
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
lix-module,
sops-nix,
home-manager,
... ...
} @ inputs: let } @ inputs: let
inherit (self) outputs; inherit (self) outputs;
in { in {
# NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname'
nixosConfigurations = { nixosConfigurations = {
wodan = nixpkgs.lib.nixosSystem { wodan = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs outputs;}; specialArgs = { inherit inputs outputs; };
# > Our main nixos configuration file <
modules = [ modules = [
lix-module.nixosModules.default ./hosts/wodan
sops-nix.nixosModules.sops
./hosts/wodan/configuration.nix
]; ];
}; };
}; };

View file

@ -1,68 +0,0 @@
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
inputs,
lib,
config,
pkgs,
...
}: {
# You can import other home-manager modules here
imports = [
# If you want to use home-manager modules from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModule
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
./git
];
nixpkgs = {
# You can add overlays here
overlays = [
# If you want to use overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = _: true;
};
};
home = {
username = "lander";
homeDirectory = "/home/lander";
};
# Add stuff for your user as you see fit:
# programs.neovim.enable = true;
# home.packages = with pkgs; [ steam ];
# Enable home-manager and git
programs.home-manager.enable = true;
programs.git.enable = true;
programs.neovim = {
enable = true;
vimAlias = true;
vimdiffAlias = true;
defaultEditor = false;
};
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "23.05";
}

View file

@ -0,0 +1,33 @@
{
inputs,
lib,
config,
pkgs,
...
}: {
imports = [
./git
];
home = {
username = "lander";
homeDirectory = "/home/lander";
};
programs.home-manager.enable = true;
programs.git.enable = true;
programs.neovim = {
enable = true;
vimAlias = true;
vimdiffAlias = true;
defaultEditor = false;
};
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "23.05";
}

6
home/lander/wodan.nix Normal file
View file

@ -0,0 +1,6 @@
{ ... }:
{
imports = [
./global
];
}

View file

@ -0,0 +1,20 @@
# This config will be applied to all hosts
{
inputs,
outputs,
...
}:
{
imports = [
inputs.home-manager.nixosModules.home-manager
inputs.lix-module.nixosModules.default
inputs.sops-nix.nixosModules.sops
./locale.nix
];
home-manager.useGlobalPkgs = true;
home-manager.extraSpecialArgs = { inherit inputs outputs; };
networking.domain = "lndr.be";
}

View file

@ -0,0 +1,21 @@
{ lib, ... }:
{
time.timeZone = lib.mkDefault "Europe/Brussels";
location.provider = "geoclue2";
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "nl_BE.UTF-8";
LC_IDENTIFICATION = "nl_BE.UTF-8";
LC_MEASUREMENT = "nl_BE.UTF-8";
LC_MONETARY = "nl_BE.UTF-8";
LC_NAME = "nl_BE.UTF-8";
LC_NUMERIC = "nl_BE.UTF-8";
LC_PAPER = "nl_BE.UTF-8";
LC_TELEPHONE = "nl_BE.UTF-8";
LC_TIME = "nl_BE.UTF-8";
};
};
}

View file

@ -0,0 +1,20 @@
{ pkgs, config, lib, ... }:
let
ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups;
in
{
users.users.lander = {
isNormalUser = true;
description = "Lander";
extraGroups = ifTheyExist [
"networkmanager"
"wheel"
];
packages = with pkgs; [
pkgs.home-manager
];
};
home-manager.users.lander = import ../../../../home/lander/${config.networking.hostName}.nix;
}

View file

@ -1,16 +1,15 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = imports =
[ # Include the results of the hardware scan. [
./hardware-configuration.nix ./hardware-configuration.nix
./home-manager.nix
./yubikey-gpg.nix ../common/global
./virt.nix ../common/users/lander
../common/optional/yubikey-gpg.nix
../common/optional/virt.nix
]; ];
# Bootloader. # Bootloader.
@ -28,24 +27,6 @@
# Enable networking # Enable networking
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Brussels";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "nl_BE.UTF-8";
LC_IDENTIFICATION = "nl_BE.UTF-8";
LC_MEASUREMENT = "nl_BE.UTF-8";
LC_MONETARY = "nl_BE.UTF-8";
LC_NAME = "nl_BE.UTF-8";
LC_NUMERIC = "nl_BE.UTF-8";
LC_PAPER = "nl_BE.UTF-8";
LC_TELEPHONE = "nl_BE.UTF-8";
LC_TIME = "nl_BE.UTF-8";
};
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver.enable = true; services.xserver.enable = true;
@ -82,14 +63,6 @@
# services.xserver.libinput.enable = true; # services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd. # Define a user account. Don't forget to set a password with passwd.
users.users.lander = {
isNormalUser = true;
description = "Lander";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
# thunderbird
];
};
# Install firefox. # Install firefox.
programs.firefox.enable = true; programs.firefox.enable = true;

View file

@ -1,12 +0,0 @@
{ inputs, outputs, ... }: {
imports = [
inputs.home-manager.nixosModules.home-manager
];
home-manager = {
extraSpecialArgs = { inherit inputs outputs; };
users = {
lander = import ../../home-manager/home.nix;
};
};
}