mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-16 16:11:15 +00:00
iron: format configuration
This commit is contained in:
parent
eb750b585d
commit
6783ce6f72
8 changed files with 180 additions and 160 deletions
|
|
@ -5,158 +5,159 @@ let
|
|||
hostname = "iron";
|
||||
username = "leana";
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkAliasOptionModule;
|
||||
in {
|
||||
imports = [
|
||||
#
|
||||
# Shorthands
|
||||
#
|
||||
(mkAliasOptionModule ["me"] ["users" "users" username])
|
||||
(mkAliasOptionModule ["hm"] ["home-manager" "users" username])
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib.modules) mkAliasOptionModule;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
#
|
||||
# Shorthands
|
||||
#
|
||||
(mkAliasOptionModule [ "me" ] [ "users" "users" username ])
|
||||
(mkAliasOptionModule [ "hm" ] [ "home-manager" "users" username ])
|
||||
|
||||
#
|
||||
# hostname
|
||||
#
|
||||
{_module.args = {inherit hostname;};}
|
||||
#
|
||||
# hostname
|
||||
#
|
||||
{ _module.args = { inherit hostname; }; }
|
||||
|
||||
#
|
||||
# nixpkgs
|
||||
#
|
||||
{
|
||||
# affect the generated nix.conf, doesn't need to be turned off during nixos-install
|
||||
nix = {
|
||||
distributedBuilds = true;
|
||||
settings.builders-use-substitutes = true;
|
||||
};
|
||||
#
|
||||
# nixpkgs
|
||||
#
|
||||
{
|
||||
# affect the generated nix.conf, doesn't need to be turned off during nixos-install
|
||||
nix = {
|
||||
distributedBuilds = true;
|
||||
settings.builders-use-substitutes = true;
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
overlays =
|
||||
map import
|
||||
[
|
||||
../overlays/agenix.nix
|
||||
../overlays/disko.nix
|
||||
../overlays/nur.nix
|
||||
../overlays/nix-tree.nix
|
||||
../overlays/nil.nix
|
||||
../overlays/dix.nix
|
||||
nixpkgs = {
|
||||
overlays =
|
||||
map import [
|
||||
../overlays/agenix.nix
|
||||
../overlays/disko.nix
|
||||
../overlays/nur.nix
|
||||
../overlays/nix-tree.nix
|
||||
../overlays/nil.nix
|
||||
../overlays/dix.nix
|
||||
|
||||
../packages/overlay.nix
|
||||
]
|
||||
# use lix everywhere and wrap it with nom
|
||||
++ [
|
||||
(import (sources.lix-module + "/overlay.nix") {inherit (sources) lix;})
|
||||
(import ../overlays/nix-monitored.nix)
|
||||
];
|
||||
../packages/overlay.nix
|
||||
]
|
||||
# use lix everywhere and wrap it with nom
|
||||
++ [
|
||||
(import (sources.lix-module + "/overlay.nix") { inherit (sources) lix; })
|
||||
(import ../overlays/nix-monitored.nix)
|
||||
];
|
||||
|
||||
# Set NIX_PATH and flake registry at the same time
|
||||
# https://github.com/NixOS/nixpkgs/pull/254405
|
||||
flake.source = sources.nixpkgs;
|
||||
};
|
||||
# Set NIX_PATH and flake registry at the same time
|
||||
# https://github.com/NixOS/nixpkgs/pull/254405
|
||||
flake.source = sources.nixpkgs;
|
||||
};
|
||||
|
||||
nix.package = pkgs.nix-monitored;
|
||||
nix.package = pkgs.nix-monitored;
|
||||
|
||||
system.nixos.version = lib.substring 0 8 sources.nixpkgs.revision;
|
||||
}
|
||||
system.nixos.version = lib.substring 0 8 sources.nixpkgs.revision;
|
||||
}
|
||||
|
||||
#
|
||||
# NixOS modules
|
||||
#
|
||||
./iron/nixos/hardware-configuration.nix # generated
|
||||
./iron/nixos/fs.nix
|
||||
#
|
||||
# NixOS modules
|
||||
#
|
||||
./iron/nixos/hardware-configuration.nix # generated
|
||||
./iron/nixos/fs.nix
|
||||
|
||||
./iron/nixos/battery.nix
|
||||
./iron/nixos/battery.nix
|
||||
|
||||
./iron/nixos/connectivity.nix
|
||||
./iron/nixos/input.nix
|
||||
./iron/nixos/connectivity.nix
|
||||
./iron/nixos/input.nix
|
||||
|
||||
./iron/nixos/misc.nix
|
||||
./iron/nixos/misc.nix
|
||||
|
||||
./iron/nixos/display.nix
|
||||
./iron/nixos/display.nix
|
||||
|
||||
./iron/nixos/locale.nix
|
||||
./iron/nixos/programs.nix
|
||||
./iron/nixos/locale.nix
|
||||
./iron/nixos/programs.nix
|
||||
|
||||
../nixosModules/common/disable-command-not-found.nix
|
||||
../nixosModules/common/network.nix
|
||||
../nixosModules/common/sudo-conf.nix
|
||||
../nixosModules/common/system-nixconf.nix
|
||||
../nixosModules/common/disable-command-not-found.nix
|
||||
../nixosModules/common/network.nix
|
||||
../nixosModules/common/sudo-conf.nix
|
||||
../nixosModules/common/system-nixconf.nix
|
||||
|
||||
../nixosModules/extra/leana.nix
|
||||
../nixosModules/extra/leana.nix
|
||||
|
||||
#
|
||||
# Extern modules
|
||||
#
|
||||
(sources.disko + "/module.nix")
|
||||
../disko/iron/btrfs.nix
|
||||
#
|
||||
# Extern modules
|
||||
#
|
||||
(sources.disko + "/module.nix")
|
||||
../disko/iron/btrfs.nix
|
||||
|
||||
(sources.agenix + "/modules/age.nix")
|
||||
(sources.agenix + "/modules/age.nix")
|
||||
|
||||
../nixosModules/extra/macbook-pro-radeon.nix
|
||||
../nixosModules/extra/macbook-swap-cmd-opt.nix
|
||||
../nixosModules/extra/macbook-swap-fn-ctrl.nix
|
||||
../nixosModules/extra/macbook-broacom-b43.nix
|
||||
../nixosModules/extra/macbook-pro-radeon.nix
|
||||
../nixosModules/extra/macbook-swap-cmd-opt.nix
|
||||
../nixosModules/extra/macbook-swap-fn-ctrl.nix
|
||||
../nixosModules/extra/macbook-broacom-b43.nix
|
||||
|
||||
#
|
||||
# home-manager
|
||||
#
|
||||
(sources.home-manager + "/nixos")
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}];
|
||||
};
|
||||
#
|
||||
# home-manager
|
||||
#
|
||||
(sources.home-manager + "/nixos")
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
sharedModules = [ { home.stateVersion = lib.mkDefault config.system.stateVersion; } ];
|
||||
};
|
||||
|
||||
hm.imports = [
|
||||
#
|
||||
# hostname
|
||||
#
|
||||
{_module.args = {inherit hostname;};}
|
||||
hm.imports = [
|
||||
#
|
||||
# hostname
|
||||
#
|
||||
{ _module.args = { inherit hostname; }; }
|
||||
|
||||
#
|
||||
# home modules
|
||||
#
|
||||
./iron/home/programs.nix
|
||||
#
|
||||
# home modules
|
||||
#
|
||||
./iron/home/programs.nix
|
||||
|
||||
../homeModules/common/btop
|
||||
../homeModules/common/fish
|
||||
../homeModules/common/starship
|
||||
../homeModules/common/tmux
|
||||
../homeModules/common/vim
|
||||
../homeModules/common/direnv.nix
|
||||
../homeModules/common/fzf.nix
|
||||
../homeModules/common/git.nix
|
||||
../homeModules/common/gpg.nix
|
||||
../homeModules/common/leana.nix
|
||||
../homeModules/common/locale.nix
|
||||
../homeModules/common/lazygit.nix
|
||||
../homeModules/common/packages.nix
|
||||
../homeModules/common/password-store.nix
|
||||
../homeModules/common/tealdeer.nix
|
||||
../homeModules/common/user-nixconf.nix
|
||||
../homeModules/common/btop
|
||||
../homeModules/common/fish
|
||||
../homeModules/common/starship
|
||||
../homeModules/common/tmux
|
||||
../homeModules/common/vim
|
||||
../homeModules/common/direnv.nix
|
||||
../homeModules/common/fzf.nix
|
||||
../homeModules/common/git.nix
|
||||
../homeModules/common/gpg.nix
|
||||
../homeModules/common/leana.nix
|
||||
../homeModules/common/locale.nix
|
||||
../homeModules/common/lazygit.nix
|
||||
../homeModules/common/packages.nix
|
||||
../homeModules/common/password-store.nix
|
||||
../homeModules/common/tealdeer.nix
|
||||
../homeModules/common/user-nixconf.nix
|
||||
|
||||
../homeModules/extra/tmux-fish-integration.nix
|
||||
../homeModules/extra/tmux-fish-integration.nix
|
||||
|
||||
#
|
||||
# Extern modules
|
||||
#
|
||||
(sources.agenix + "/modules/age-home.nix")
|
||||
];
|
||||
}
|
||||
#
|
||||
# Extern modules
|
||||
#
|
||||
(sources.agenix + "/modules/age-home.nix")
|
||||
];
|
||||
}
|
||||
|
||||
#
|
||||
# Secrets
|
||||
#
|
||||
{
|
||||
age.secrets = {
|
||||
wpa_password.file = "${../secrets/wpa_password.age}";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
#
|
||||
# Secrets
|
||||
#
|
||||
{
|
||||
age.secrets = {
|
||||
wpa_password.file = "${../secrets/wpa_password.age}";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,16 +3,19 @@
|
|||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
home.sessionPath = [
|
||||
"${config.home.homeDirectory}/.local/bin"
|
||||
];
|
||||
|
||||
home.sessionVariables = let
|
||||
fishCfg = config.programs.fish;
|
||||
in {
|
||||
"SHELL" = lib.mkIf fishCfg.enable (lib.getExe fishCfg.package);
|
||||
};
|
||||
home.sessionVariables =
|
||||
let
|
||||
fishCfg = config.programs.fish;
|
||||
in
|
||||
{
|
||||
"SHELL" = lib.mkIf fishCfg.enable (lib.getExe fishCfg.package);
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
pkgs.nmap
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@
|
|||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
users.users.root.openssh.authorizedKeys.keys = let
|
||||
# TODO: put iron keys in identities
|
||||
ids = import ../../../identities.nix;
|
||||
in
|
||||
}:
|
||||
{
|
||||
users.users.root.openssh.authorizedKeys.keys =
|
||||
let
|
||||
# TODO: put iron keys in identities
|
||||
ids = import ../../../identities.nix;
|
||||
in
|
||||
builtins.concatMap builtins.attrValues (builtins.attrValues ids);
|
||||
|
||||
networking = {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
me.extraGroups = ["video"];
|
||||
me.extraGroups = [ "video" ];
|
||||
programs.light.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.btrfs.autoScrub = {
|
||||
enable = true;
|
||||
fileSystems = [
|
||||
|
|
|
|||
|
|
@ -7,15 +7,26 @@
|
|||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["uhci_hcd" "ehci_pci" "ahci" "firewire_ohci" "usbhid" "uas" "sd_mod" "sr_mod" "sdhci_pci"];
|
||||
boot.initrd.kernelModules = ["dm-snapshot"];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
boot.initrd.availableKernelModules = [
|
||||
"uhci_hcd"
|
||||
"ehci_pci"
|
||||
"ahci"
|
||||
"firewire_ohci"
|
||||
"usbhid"
|
||||
"uas"
|
||||
"sd_mod"
|
||||
"sr_mod"
|
||||
"sdhci_pci"
|
||||
];
|
||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{lib, ...}: {
|
||||
{ lib, ... }:
|
||||
{
|
||||
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
# `timedatectl list-timezones`
|
||||
time.timeZone = "Asia/Taipei";
|
||||
|
|
@ -28,16 +29,16 @@
|
|||
let
|
||||
genLocale = locale: lib.flip lib.genAttrs (_: locale);
|
||||
in
|
||||
# - xscreensaver freaks out on the time display
|
||||
# - evolution add event becomes hard to use
|
||||
# https://gitlab.gnome.org/GNOME/evolution/-/issues/3120
|
||||
genLocale "fr_FR.UTF-8" [
|
||||
"LC_TIME"
|
||||
]
|
||||
// genLocale "zh_TW.UTF-8" [
|
||||
"LC_MONETARY"
|
||||
"LC_ADDRESS"
|
||||
];
|
||||
# - xscreensaver freaks out on the time display
|
||||
# - evolution add event becomes hard to use
|
||||
# https://gitlab.gnome.org/GNOME/evolution/-/issues/3120
|
||||
genLocale "fr_FR.UTF-8" [
|
||||
"LC_TIME"
|
||||
]
|
||||
// genLocale "zh_TW.UTF-8" [
|
||||
"LC_MONETARY"
|
||||
"LC_ADDRESS"
|
||||
];
|
||||
};
|
||||
|
||||
# Wireless Regulatory Domain, uses ISO / IEC 3166 country code
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = [
|
||||
pkgs.man-pages
|
||||
pkgs.man-pages-posix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue