mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 06:39:14 +00:00
make package set self referential collapse redundant files for package plumbing rework packages overlay and simplify scope update altiosevka font make altiosevka an overlay instead note invert package logic scope overlay unify package overlay logic fix overlay reference
205 lines
5.5 KiB
Nix
205 lines
5.5 KiB
Nix
# Entry point to cherry pick modules
|
|
let
|
|
sources = import ../sources.nix;
|
|
|
|
hostname = "vanadium";
|
|
username = "leana";
|
|
in
|
|
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (lib.modules) mkAliasOptionModule;
|
|
in {
|
|
imports = [
|
|
#
|
|
# Shorthands
|
|
#
|
|
(mkAliasOptionModule ["me"] ["users" "users" username])
|
|
(mkAliasOptionModule ["hm"] ["home-manager" "users" username])
|
|
|
|
#
|
|
# hostname
|
|
#
|
|
{_module.args = {inherit hostname;};}
|
|
|
|
#
|
|
# nixpkgs
|
|
#
|
|
{
|
|
nixpkgs = {
|
|
config = {
|
|
# For btop, ROCm support is needed for AMD GPU
|
|
# https://github.com/aristocratos/btop?tab=readme-ov-file#gpu-compatibility
|
|
rocmSupport = true;
|
|
};
|
|
|
|
overlays = map import [
|
|
../overlays/agenix.nix
|
|
../overlays/disko.nix
|
|
../overlays/nur.nix
|
|
../overlays/wired-notify.nix
|
|
../overlays/nix-tree.nix
|
|
../overlays/wallpapers.nix
|
|
|
|
../overlays/iosevka.nix
|
|
../packages/overlay.nix
|
|
|
|
./vanadium/overlay.nix
|
|
|
|
# removed, but I need it for PLFA!
|
|
../overlays/pin-emacs28.nix
|
|
];
|
|
|
|
# Set NIX_PATH and flake registry at the same time
|
|
# https://github.com/NixOS/nixpkgs/pull/254405
|
|
flake.source = sources.nixpkgs;
|
|
};
|
|
|
|
system.nixos.version = lib.substring 0 8 sources.nixpkgs.rev;
|
|
}
|
|
|
|
#
|
|
# NixOS modules
|
|
#
|
|
./vanadium/nixos/hardware-configuration.nix # generated
|
|
./vanadium/nixos/fs.nix
|
|
./vanadium/nixos/restic.nix
|
|
|
|
./vanadium/nixos/battery.nix
|
|
|
|
./vanadium/nixos/audio.nix
|
|
./vanadium/nixos/connectivity.nix
|
|
./vanadium/nixos/input.nix
|
|
|
|
./vanadium/nixos/misc.nix
|
|
|
|
./vanadium/nixos/display.nix
|
|
./vanadium/nixos/gui.nix
|
|
|
|
./vanadium/nixos/locale.nix
|
|
./vanadium/nixos/unfree-predicate.nix
|
|
./vanadium/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/extra/layouts
|
|
../nixosModules/extra/zram.nix
|
|
../nixosModules/extra/leana.nix
|
|
|
|
#
|
|
# Extern modules
|
|
#
|
|
(sources.disko + "/module.nix")
|
|
../disko/vanadium/btrfs.nix
|
|
|
|
(sources.agenix + "/modules/age.nix")
|
|
|
|
((import sources.url-eater).nixosModules.default)
|
|
|
|
(sources.nixos-hardware + "/framework/13-inch/7040-amd")
|
|
|
|
(import (sources.lix-module + "/module.nix") {lix = sources.lix;})
|
|
|
|
#
|
|
# 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;};}
|
|
|
|
#
|
|
# home modules
|
|
#
|
|
./vanadium/home/programs.nix
|
|
./vanadium/home/misc.nix
|
|
|
|
./vanadium/home/firefox.nix
|
|
./vanadium/home/xmobar.nix
|
|
|
|
# Language server packages, etc
|
|
./vanadium/home/dev.nix
|
|
|
|
../homeModules/common/btop
|
|
../homeModules/common/cmus
|
|
../homeModules/common/fcitx5
|
|
../homeModules/common/fish
|
|
../homeModules/common/ranger
|
|
../homeModules/common/starship
|
|
../homeModules/common/tmux
|
|
../homeModules/common/vim
|
|
../homeModules/common/wired
|
|
../homeModules/common/atuin.nix
|
|
../homeModules/common/battery-notify.nix
|
|
../homeModules/common/direnv.nix
|
|
../homeModules/common/feh.nix
|
|
../homeModules/common/firefox.nix
|
|
../homeModules/common/fzf.nix
|
|
../homeModules/common/git.nix
|
|
../homeModules/common/gpg.nix
|
|
../homeModules/common/kitty.nix
|
|
../homeModules/common/leana.nix
|
|
../homeModules/common/locale.nix
|
|
../homeModules/common/neovim.nix
|
|
../homeModules/common/packages.nix
|
|
../homeModules/common/password-store.nix
|
|
../homeModules/common/sioyek.nix
|
|
../homeModules/common/user-nixconf.nix
|
|
|
|
#
|
|
# Extern modules
|
|
#
|
|
(sources.agenix + "/modules/age-home.nix")
|
|
((import sources.wired-notify).homeManagerModules.default)
|
|
];
|
|
}
|
|
|
|
#
|
|
# Secrets
|
|
#
|
|
{
|
|
age.secrets = {
|
|
wpa_password.file = "${../secrets/wpa_password.age}";
|
|
|
|
restic_backblaze_pwd.file = "${../secrets/restic_backblaze_pwd.age}";
|
|
restic_backblaze_repo.file = "${../secrets/restic_backblaze_repo.age}";
|
|
restic_backblaze_env.file = "${../secrets/restic_backblaze_env.age}";
|
|
|
|
four_pwd.file = "${../secrets/four_pwd.age}";
|
|
restic_four_pwd.file = "${../secrets/restic_four_pwd.age}";
|
|
|
|
sgbk_pwd.file = "${../secrets/sgbk_pwd.age}";
|
|
restic_sgbk_pwd.file = "${../secrets/restic_sgbk_pwd.age}";
|
|
|
|
two_pwd.file = "${../secrets/two_pwd.age}";
|
|
};
|
|
|
|
hm = {
|
|
age.secrets = {
|
|
sshconfig = {
|
|
file = "${../secrets/sshconfig.age}";
|
|
path = "/home/leana/.ssh/config";
|
|
};
|
|
ltex_dict = {
|
|
file = "${../secrets/ltex_dict.age}";
|
|
path = "/home/leana/.config/ltex_dict";
|
|
};
|
|
};
|
|
};
|
|
}
|
|
];
|
|
}
|