chore: reorganise common modules
Signed-off-by: Lander Van den Bulcke <landervandenbulcke@gmail.com>
This commit is contained in:
parent
eebd71f003
commit
7230527d95
13 changed files with 109 additions and 124 deletions
12
flake.nix
12
flake.nix
|
|
@ -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
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -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";
|
|
||||||
}
|
|
||||||
33
home/lander/global/default.nix
Normal file
33
home/lander/global/default.nix
Normal 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
6
home/lander/wodan.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./global
|
||||||
|
];
|
||||||
|
}
|
||||||
20
hosts/common/global/default.nix
Normal file
20
hosts/common/global/default.nix
Normal 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";
|
||||||
|
}
|
||||||
21
hosts/common/global/locale.nix
Normal file
21
hosts/common/global/locale.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
20
hosts/common/users/lander/default.nix
Normal file
20
hosts/common/users/lander/default.nix
Normal 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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue