refactor: big refactor
parent
b32f7b2c0c
commit
79e3c5c266
39
flake.nix
39
flake.nix
|
@ -18,12 +18,14 @@
|
||||||
, nixos-hardware
|
, nixos-hardware
|
||||||
, home-manager
|
, home-manager
|
||||||
, impermanence
|
, impermanence
|
||||||
|
, ...
|
||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
inherit (self) outputs;
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
|
||||||
in
|
in
|
||||||
{
|
rec {
|
||||||
|
overlays = import ./overlays { inherit inputs; };
|
||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
trantor = nixpkgs.lib.nixosSystem {
|
trantor = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -35,6 +37,8 @@
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/hosts/trantor
|
./nixos/hosts/trantor
|
||||||
|
./nixos/modules/common.nix
|
||||||
|
./nixos/modules/desktop.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
impermanence.nixosModules.impermanence
|
impermanence.nixosModules.impermanence
|
||||||
];
|
];
|
||||||
|
@ -43,13 +47,14 @@
|
||||||
capibara = nixpkgs.lib.nixosSystem {
|
capibara = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
# unstablePkgs = nixpkgs-unstable.legacyPackages."x86_64-linux";
|
|
||||||
stablePkgs = nixpkgs-stable.legacyPackages."x86_64-linux";
|
stablePkgs = nixpkgs-stable.legacyPackages."x86_64-linux";
|
||||||
impermanence = impermanence;
|
impermanence = impermanence;
|
||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/hosts/capibara
|
./nixos/hosts/capibara
|
||||||
|
./nixos/modules/common.nix
|
||||||
|
./nixos/modules/desktop.nix
|
||||||
nixos-hardware.nixosModules.lenovo-thinkpad-x230
|
nixos-hardware.nixosModules.lenovo-thinkpad-x230
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
impermanence.nixosModules.impermanence
|
impermanence.nixosModules.impermanence
|
||||||
|
@ -58,8 +63,32 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
|
|
||||||
|
"rilla@capibara" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
|
modules = [
|
||||||
|
./home/hosts/capibara.nix
|
||||||
|
./home/modules/common
|
||||||
|
./home/modules/desktop-river
|
||||||
|
./home/modules/theming
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
"rilla@trantor" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
|
modules = [
|
||||||
|
./home/hosts/trantor.nix
|
||||||
|
./home/modules/common
|
||||||
|
./home/modules/desktop-river
|
||||||
|
./home/modules/theming/trantor.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
"rilla@echidna" = home-manager.lib.homeManagerConfiguration {
|
"rilla@echidna" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||||
|
extraSpecialArgs = { inherit inputs outputs; };
|
||||||
modules = [ ./home/hosts/echidna.nix ];
|
modules = [ ./home/hosts/echidna.nix ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{ config, pkgs, ... }:
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
|
||||||
./common.nix
|
|
||||||
../modules/desktop-river
|
|
||||||
../modules/theming
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,208 +0,0 @@
|
||||||
{ config, inputs, pkgs, stablePkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
nixpkgs.config = { allowUnfree = true; };
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
# (self: super: {
|
|
||||||
# # use lf fork with support for sixel graphics
|
|
||||||
# lf = super.lf.overrideAttrs (old: {
|
|
||||||
# src = super.fetchFromGitHub {
|
|
||||||
# owner = "horriblename";
|
|
||||||
# repo = "lf";
|
|
||||||
# rev = "8997e5b03772d5628ed6a490777048581d978674";
|
|
||||||
# sha256 = "rJq2Tv3py6HvRI1O2odTdGb1ksdijhO3FcJsPj5dm34=";
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
# })
|
|
||||||
|
|
||||||
(self: super: {
|
|
||||||
kile-wl = super.rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "kile-wl";
|
|
||||||
version = "2023-08-23";
|
|
||||||
src = super.fetchFromGitLab {
|
|
||||||
owner = "snakedye";
|
|
||||||
repo = "kile";
|
|
||||||
rev = "c24208761d04e0a74d203fc1dcd2f7fed68da388";
|
|
||||||
sha256 = "sha256-4iclNVd7nm6LkgvsHwWaWyi1bZL/A+bbT5OSXn70bLs=";
|
|
||||||
};
|
|
||||||
|
|
||||||
cargoLock = {
|
|
||||||
lockFile = src + "/Cargo.lock";
|
|
||||||
outputHashes = {
|
|
||||||
"kilexpr-0.1.0" =
|
|
||||||
"sha256-Bw6vYtzhheAJ8NLQtr3gLjZ9/5ajuABURRYDnVF9W1Y=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with super.lib; {
|
|
||||||
description = "A tiling layout generator for river";
|
|
||||||
homepage = "https://gitlab.com/snakedye/kile";
|
|
||||||
license = licenses.mit;
|
|
||||||
platforms =
|
|
||||||
platforms.linux; # It's meant for river, a wayland compositor
|
|
||||||
mainProgram = "kile";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
})
|
|
||||||
|
|
||||||
(self: super: {
|
|
||||||
ristate = super.ristate.overrideAttrs (old: rec {
|
|
||||||
src = super.fetchFromGitLab {
|
|
||||||
owner = "snakedye";
|
|
||||||
repo = "ristate";
|
|
||||||
rev = "92e989f26cadac69af1208163733e73b4cf447da";
|
|
||||||
sha256 = "sha256-6slH7R6kbSXQBd7q38oBEbngaCbFv0Tyq34VB1PAfhM=";
|
|
||||||
};
|
|
||||||
cargoDeps = old.cargoDeps.overrideAttrs (super.lib.const {
|
|
||||||
inherit src;
|
|
||||||
outputHash = "sha256-fOo9C0dNL9dYy5wXq/yEDqOV0OhOTEY42XK8ShpQh6k=";
|
|
||||||
});
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
# These packages seem to be broken on the unstable channel, so I'm using
|
|
||||||
# the stable versions for now. Currently this is not happening for any
|
|
||||||
# package that I use :)
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
# programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the
|
|
||||||
# paths it should manage.
|
|
||||||
home.username = "rilla";
|
|
||||||
home.homeDirectory = "/home/rilla";
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
# ./minidisc
|
|
||||||
../modules/arduino
|
|
||||||
../modules/browsers
|
|
||||||
../modules/cheat
|
|
||||||
../modules/dav
|
|
||||||
../modules/drawterm
|
|
||||||
../modules/fonts
|
|
||||||
../modules/git
|
|
||||||
../modules/gotify
|
|
||||||
../modules/gpg
|
|
||||||
../modules/idasen
|
|
||||||
../modules/lf
|
|
||||||
../modules/mail
|
|
||||||
../modules/maker
|
|
||||||
../modules/mpd
|
|
||||||
../modules/msg
|
|
||||||
../modules/music
|
|
||||||
../modules/neovim
|
|
||||||
../modules/pass
|
|
||||||
../modules/rss
|
|
||||||
../modules/snapcast
|
|
||||||
../modules/sound
|
|
||||||
../modules/ssh
|
|
||||||
../modules/syncthing
|
|
||||||
../modules/tmux
|
|
||||||
../modules/vitetris
|
|
||||||
../modules/wallets
|
|
||||||
../modules/wine
|
|
||||||
../modules/xdg
|
|
||||||
../modules/zsh
|
|
||||||
];
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "${pkgs.neovim}/bin/nvim";
|
|
||||||
VISUAL = "${pkgs.neovim}/bin/nvim";
|
|
||||||
BROWSER = "${pkgs.firefox}/bin/firefox";
|
|
||||||
# OPENER = "todo"; # todo
|
|
||||||
TERMINAL = "${pkgs.alacritty}/bin/alacritty";
|
|
||||||
CM_LAUNCHER = "rofi"; # for clipmenu
|
|
||||||
LEDGER_FILE = "${config.home.homeDirectory}/finance/2021.journal";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# calibre
|
|
||||||
R
|
|
||||||
acpi
|
|
||||||
android-tools
|
|
||||||
ansible
|
|
||||||
bind.dnsutils
|
|
||||||
# pyenv
|
|
||||||
docker-compose
|
|
||||||
file
|
|
||||||
gimp
|
|
||||||
gnumake
|
|
||||||
html-tidy
|
|
||||||
htop
|
|
||||||
inetutils # telnet
|
|
||||||
j2cli
|
|
||||||
john
|
|
||||||
jq
|
|
||||||
killall
|
|
||||||
kubectl
|
|
||||||
libnotify
|
|
||||||
libreoffice
|
|
||||||
lxqt.pcmanfm-qt
|
|
||||||
mosh
|
|
||||||
mpv
|
|
||||||
neofetch
|
|
||||||
pynitrokey
|
|
||||||
networkmanagerapplet
|
|
||||||
nextcloud-client
|
|
||||||
pandoc
|
|
||||||
podman-compose
|
|
||||||
pv
|
|
||||||
ripgrep
|
|
||||||
sassc
|
|
||||||
screen
|
|
||||||
shellcheck
|
|
||||||
signify
|
|
||||||
unzip
|
|
||||||
vagrant
|
|
||||||
virt-manager
|
|
||||||
virtiofsd
|
|
||||||
wget
|
|
||||||
];
|
|
||||||
|
|
||||||
# services.kdeconnect = {
|
|
||||||
# enable = true;
|
|
||||||
# indicator = true;
|
|
||||||
# };
|
|
||||||
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config = { theme = "gruvbox-dark"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fzf = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
# defaultOptions = [
|
|
||||||
# "--preview --preview 'bat --color=always --style=header,grid --line-range :300 {}'"
|
|
||||||
# ];
|
|
||||||
tmux.enableShellIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gnome-keyring = {
|
|
||||||
enable = true;
|
|
||||||
components = [ "secrets" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
services.nextcloud-client = {
|
|
||||||
enable = true;
|
|
||||||
startInBackground = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
dconf.settings = {
|
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
|
||||||
"autoconnect" = [ "qemu:///system" ];
|
|
||||||
"uris" = [ "qemu:///system" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.stateVersion = "22.11";
|
|
||||||
}
|
|
|
@ -0,0 +1,147 @@
|
||||||
|
{ inputs, outputs, lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
outputs.overlays.modifications
|
||||||
|
];
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = (_: true);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "rilla";
|
||||||
|
homeDirectory = "/home/rilla";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
# ./minidisc
|
||||||
|
../arduino
|
||||||
|
../browsers
|
||||||
|
../cheat
|
||||||
|
../dav
|
||||||
|
../drawterm
|
||||||
|
../fonts
|
||||||
|
../foot
|
||||||
|
../git
|
||||||
|
../gotify
|
||||||
|
../gpg
|
||||||
|
../idasen
|
||||||
|
../lf
|
||||||
|
../mail
|
||||||
|
../maker
|
||||||
|
../mpd
|
||||||
|
../msg
|
||||||
|
../music
|
||||||
|
../neovim
|
||||||
|
../pass
|
||||||
|
../rss
|
||||||
|
../snapcast
|
||||||
|
../sound
|
||||||
|
../ssh
|
||||||
|
../syncthing
|
||||||
|
../tmux
|
||||||
|
../vitetris
|
||||||
|
../wallets
|
||||||
|
../wine
|
||||||
|
../xdg
|
||||||
|
../zsh
|
||||||
|
];
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||||
|
TERMINAL = "${pkgs.alacritty}/bin/alacritty";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
# calibre
|
||||||
|
R
|
||||||
|
acpi
|
||||||
|
android-tools
|
||||||
|
ansible
|
||||||
|
bind.dnsutils
|
||||||
|
# pyenv
|
||||||
|
docker-compose
|
||||||
|
file
|
||||||
|
gimp
|
||||||
|
gnumake
|
||||||
|
html-tidy
|
||||||
|
htop
|
||||||
|
inetutils # telnet
|
||||||
|
j2cli
|
||||||
|
john
|
||||||
|
jq
|
||||||
|
killall
|
||||||
|
kubectl
|
||||||
|
libnotify
|
||||||
|
libreoffice
|
||||||
|
lxqt.pcmanfm-qt
|
||||||
|
mosh
|
||||||
|
mpv
|
||||||
|
neofetch
|
||||||
|
pynitrokey
|
||||||
|
networkmanagerapplet
|
||||||
|
nextcloud-client
|
||||||
|
pandoc
|
||||||
|
podman-compose
|
||||||
|
pv
|
||||||
|
ripgrep
|
||||||
|
sassc
|
||||||
|
screen
|
||||||
|
shellcheck
|
||||||
|
signify
|
||||||
|
unzip
|
||||||
|
vagrant
|
||||||
|
virt-manager
|
||||||
|
virtiofsd
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
|
||||||
|
# services.kdeconnect = {
|
||||||
|
# enable = true;
|
||||||
|
# indicator = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config = { theme = "gruvbox-dark"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
# defaultOptions = [
|
||||||
|
# "--preview --preview 'bat --color=always --style=header,grid --line-range :300 {}'"
|
||||||
|
# ];
|
||||||
|
tmux.enableShellIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.gnome-keyring = {
|
||||||
|
enable = true;
|
||||||
|
components = [ "secrets" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nextcloud-client = {
|
||||||
|
enable = true;
|
||||||
|
startInBackground = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
|
"autoconnect" = [ "qemu:///system" ];
|
||||||
|
"uris" = [ "qemu:///system" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
}
|
|
@ -4,7 +4,6 @@
|
||||||
imports = [
|
imports = [
|
||||||
./kile
|
./kile
|
||||||
./bemenu.nix
|
./bemenu.nix
|
||||||
./foot.nix
|
|
||||||
./init.nix
|
./init.nix
|
||||||
./kanshi.nix
|
./kanshi.nix
|
||||||
./mako.nix
|
./mako.nix
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
font-name = "Hack Nerd Font";
|
|
||||||
font-size = "10";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.foot = {
|
|
||||||
enable = true;
|
|
||||||
server.enable = true;
|
|
||||||
settings = {
|
|
||||||
main = {
|
|
||||||
shell = "${pkgs.tmux}/bin/tmux -u";
|
|
||||||
font = "${font-name}:size=${font-size}:style=Regular";
|
|
||||||
font-bold = "${font-name}:size=${font-size}:style=Bold";
|
|
||||||
font-italic = "${font-name}:size=${font-size}:style=Italic";
|
|
||||||
font-bold-italic = "${font-name}:size=${font-size}:style=Bold Italic";
|
|
||||||
dpi-aware = "no";
|
|
||||||
selection-target = "both";
|
|
||||||
};
|
|
||||||
colors = {
|
|
||||||
alpha = 0.9;
|
|
||||||
background = "282828";
|
|
||||||
foreground = "ebdbb2";
|
|
||||||
|
|
||||||
regular0 = "282828"; # black
|
|
||||||
regular1 = "cc241d"; # red
|
|
||||||
regular2 = "98971a"; # green
|
|
||||||
regular3 = "d79921"; # yellow
|
|
||||||
regular4 = "458588"; # blue
|
|
||||||
regular5 = "b16286"; # magenta
|
|
||||||
regular6 = "689d6a"; # cyan
|
|
||||||
regular7 = "ebdbb2"; # white
|
|
||||||
|
|
||||||
bright0 = "928374"; # black
|
|
||||||
bright1 = "fb4934"; # red
|
|
||||||
bright2 = "b8bb26"; # green
|
|
||||||
bright3 = "fabd2f"; # yellow
|
|
||||||
bright4 = "83a598"; # blue
|
|
||||||
bright5 = "d3869b"; # magenta
|
|
||||||
bright6 = "8ec07c"; # cyan
|
|
||||||
bright7 = "ebdbb2"; # white
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -5,7 +5,10 @@
|
||||||
# wafConfigureFlags = old.wafConfigureFlags ++ [ "--windows-vst" ];
|
# wafConfigureFlags = old.wafConfigureFlags ++ [ "--windows-vst" ];
|
||||||
# });
|
# });
|
||||||
#in
|
#in
|
||||||
{
|
let
|
||||||
|
home = config.home.homeDirectory;
|
||||||
|
in
|
||||||
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.ardour
|
pkgs.ardour
|
||||||
# ardour-windows-vst
|
# ardour-windows-vst
|
||||||
|
@ -27,4 +30,10 @@
|
||||||
pkgs.zynaddsubfx
|
pkgs.zynaddsubfx
|
||||||
# pkgs.haskellPackages.tidal-midi
|
# pkgs.haskellPackages.tidal-midi
|
||||||
];
|
];
|
||||||
}
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
LV2_PATH = "${home}/.nix-profile/lib/lv2:${home}/Audio/plugins/lv2:/run/current-system/sw/lib/lv2";
|
||||||
|
LXVST_PATH = "${home}/.nix-profile/lib/lxvst:${home}/Audio/plugins/lxvst:/run/current-system/sw/lib/lxvst";
|
||||||
|
LADSPA_PATH = "${home}/.nix-profile/lib/ladspa:${home}/Audio/plugins/ladspa:/run/current-system/sw/lib/ladspa";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -33,18 +33,25 @@
|
||||||
vscode-langservers-extracted
|
vscode-langservers-extracted
|
||||||
];
|
];
|
||||||
extraPython3Packages = pyPkgs: with pyPkgs; [ pylint ];
|
extraPython3Packages = pyPkgs: with pyPkgs; [ pylint ];
|
||||||
# plugins = [ pkgs.vimPlugins.lazy-nvim ];
|
|
||||||
# extraLuaConfig = builtins.readFile ./init.lua;
|
|
||||||
};
|
};
|
||||||
# home.file.lua = {
|
|
||||||
# recursive = true;
|
|
||||||
# source = ./lua;
|
|
||||||
# target = "/.config/nvim/lua";
|
|
||||||
# };
|
|
||||||
home.packages = [ pkgs.neovide ];
|
home.packages = [ pkgs.neovide ];
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "${pkgs.neovim}/bin/nvim";
|
||||||
|
VISUAL = "${pkgs.neovim}/bin/nvim";
|
||||||
|
};
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
notes.source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Nextcloud/notes";
|
notes.source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/Nextcloud/notes";
|
||||||
|
nvim_init = {
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/configs/neovim-config/nvim/init.lua";
|
||||||
|
target = "${config.xdg.configHome}/nvim/init.lua";
|
||||||
|
};
|
||||||
|
nvim_lua = {
|
||||||
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/configs/neovim-config/nvim/lua";
|
||||||
|
target = "${config.xdg.configHome}/nvim/lua";
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
7
justfile
7
justfile
|
@ -2,4 +2,9 @@ echidna:
|
||||||
home-manager switch --flake .#rilla@echidna
|
home-manager switch --flake .#rilla@echidna
|
||||||
|
|
||||||
capibara:
|
capibara:
|
||||||
doas nixos-rebuild switch --flake .#capibara
|
doas nixos-rebuild switch --flake .#capibara && \
|
||||||
|
home-manager switch --flake .#rilla@capibara
|
||||||
|
|
||||||
|
trantor:
|
||||||
|
doas nixos-rebuild switch --flake .#trantor && \
|
||||||
|
home-manager switch --flake .#rilla@trantor
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ config, pkgs, stablePkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
home = "/home/rilla";
|
|
||||||
offline-backups = pkgs.writeScriptBin "offline-backups" ''
|
offline-backups = pkgs.writeScriptBin "offline-backups" ''
|
||||||
#!${pkgs.dash}/bin/dash
|
#!${pkgs.dash}/bin/dash
|
||||||
|
|
||||||
|
@ -22,163 +21,14 @@ in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules/common
|
./file-systems.nix
|
||||||
../../modules/common/desktop.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.rilla.imports = [
|
|
||||||
../../../home/hosts/capibara.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/" = {
|
|
||||||
device = "tmpfs";
|
|
||||||
fsType = "tmpfs";
|
|
||||||
options = [ "defaults" "size=2G" "mode=755" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/btr_root" = {
|
|
||||||
device = "/dev/mapper/root";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/btr_data" = {
|
|
||||||
device = "/dev/mapper/data";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/persist" = {
|
|
||||||
device = "/dev/mapper/data";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=persist" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/logs" = {
|
|
||||||
device = "/dev/mapper/root";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=logs" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/data" = {
|
|
||||||
device = "/dev/mapper/data";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=data" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/secrets" = {
|
|
||||||
device = "narwhal:/secrets";
|
|
||||||
fsType = "nfs";
|
|
||||||
options = [ "noauto" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/secrets/gnupg" = {
|
|
||||||
device = "/dev/mapper/gnupg_secrets";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/nix" = {
|
|
||||||
device = "/dev/mapper/root";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/c99d1f1b-45a4-4a25-b5b8-bc76464c6825";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
"/swap" = {
|
|
||||||
device = "/dev/mapper/root";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=swap" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/vfs_share" = {
|
|
||||||
device = "/dev/mapper/data";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=vfs_share" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/backups/0" = {
|
|
||||||
device = "/dev/mapper/backups0";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/backups/1" = {
|
|
||||||
device = "/dev/mapper/backups1";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/backups/2" = {
|
|
||||||
device = "/dev/mapper/backups2";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [{ device = "/swap/swapfile"; }];
|
|
||||||
|
|
||||||
environment.etc = {
|
|
||||||
crypttab = {
|
|
||||||
text = ''
|
|
||||||
backups0 UUID="e45232d5-f46f-46f3-a150-be26374b3357" /etc/luks-keys/backups.bin noauto
|
|
||||||
backups1 UUID="5b3da928-4862-4451-89cd-5bd6a95466d0" /etc/luks-keys/backups.bin noauto
|
|
||||||
backups2 UUID="cbfa9cba-dee2-4d0b-8cde-2f1d1849b22c" /etc/luks-keys/backups.bin noauto
|
|
||||||
gnupg_secrets /mnt/secrets/gnupg.img none noauto
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
LV2_PATH =
|
|
||||||
"${home}/.nix-profile/lib/lv2:${home}/Audio/plugins/lv2:/run/current-system/sw/lib/lv2";
|
|
||||||
LXVST_PATH =
|
|
||||||
"${home}/.nix-profile/lib/lxvst:${home}/Audio/plugins/lxvst:/run/current-system/sw/lib/lxvst";
|
|
||||||
LADSPA_PATH =
|
|
||||||
"${home}/.nix-profile/lib/ladspa:${home}/Audio/plugins/ladspa:/run/current-system/sw/lib/ladspa";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.networkmanager.wifi.macAddress = "CC:AF:78:75:29:32";
|
networking.networkmanager.wifi.macAddress = "CC:AF:78:75:29:32";
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
programs.steam.enable = true;
|
programs.steam.enable = true;
|
||||||
|
|
||||||
boot = {
|
|
||||||
|
|
||||||
loader = {
|
|
||||||
grub = {
|
|
||||||
efiSupport = false;
|
|
||||||
efiInstallAsRemovable = false;
|
|
||||||
enable = true;
|
|
||||||
device = "/dev/disk/by-id/ata-KINGSTON_SKC600MS512G_50026B7783FC3D2F";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
initrd = {
|
|
||||||
luks = {
|
|
||||||
devices = {
|
|
||||||
root = {
|
|
||||||
device = "/dev/disk/by-uuid/869b4b9e-5004-4625-877f-6b1c9489ac8f";
|
|
||||||
allowDiscards = true;
|
|
||||||
};
|
|
||||||
data = {
|
|
||||||
device = "/dev/disk/by-uuid/6a9246a0-984b-471c-9950-be16db3060f5";
|
|
||||||
allowDiscards = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
reusePassphrases = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.earlyoom.enable = true;
|
services.earlyoom.enable = true;
|
||||||
|
|
||||||
|
@ -190,15 +40,6 @@ in
|
||||||
services.power-profiles-daemon.enable = false;
|
services.power-profiles-daemon.enable = false;
|
||||||
environment.systemPackages = with pkgs; [ powertop acpi offline-backups ];
|
environment.systemPackages = with pkgs; [ powertop acpi offline-backups ];
|
||||||
|
|
||||||
#services.beesd.filesystems = {
|
|
||||||
# root = {
|
|
||||||
# spec = "/dev/mapper/root";
|
|
||||||
# hashTableSizeMB = 256;
|
|
||||||
# verbosity = "info";
|
|
||||||
# extraOptions = [ "--loadavg-target" "2.0" ];
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
# todo: target and/or archive
|
# todo: target and/or archive
|
||||||
services.btrbk.instances = {
|
services.btrbk.instances = {
|
||||||
btrbk = {
|
btrbk = {
|
||||||
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
{ config, pkgs, stablePkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
grub = {
|
||||||
|
efiSupport = false;
|
||||||
|
efiInstallAsRemovable = false;
|
||||||
|
enable = true;
|
||||||
|
device = "/dev/disk/by-id/ata-KINGSTON_SKC600MS512G_50026B7783FC3D2F";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
initrd = {
|
||||||
|
luks = {
|
||||||
|
devices = {
|
||||||
|
root = {
|
||||||
|
device = "/dev/disk/by-uuid/869b4b9e-5004-4625-877f-6b1c9489ac8f";
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
data = {
|
||||||
|
device = "/dev/disk/by-uuid/6a9246a0-984b-471c-9950-be16db3060f5";
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
reusePassphrases = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/" = {
|
||||||
|
device = "tmpfs";
|
||||||
|
fsType = "tmpfs";
|
||||||
|
options = [ "defaults" "size=2G" "mode=755" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/btr_root" = {
|
||||||
|
device = "/dev/mapper/root";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/btr_data" = {
|
||||||
|
device = "/dev/mapper/data";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/persist" = {
|
||||||
|
device = "/dev/mapper/data";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=persist" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/logs" = {
|
||||||
|
device = "/dev/mapper/root";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=logs" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/data" = {
|
||||||
|
device = "/dev/mapper/data";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=data" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/secrets" = {
|
||||||
|
device = "narwhal:/secrets";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [ "noauto" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/secrets/gnupg" = {
|
||||||
|
device = "/dev/mapper/gnupg_secrets";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/nix" = {
|
||||||
|
device = "/dev/mapper/root";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/c99d1f1b-45a4-4a25-b5b8-bc76464c6825";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/swap" = {
|
||||||
|
device = "/dev/mapper/root";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=swap" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/vfs_share" = {
|
||||||
|
device = "/dev/mapper/data";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=vfs_share" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/backups/0" = {
|
||||||
|
device = "/dev/mapper/backups0";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/backups/1" = {
|
||||||
|
device = "/dev/mapper/backups1";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/backups/2" = {
|
||||||
|
device = "/dev/mapper/backups2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [{ device = "/swap/swapfile"; }];
|
||||||
|
|
||||||
|
environment.etc.crypttab.text = ''
|
||||||
|
backups0 UUID="e45232d5-f46f-46f3-a150-be26374b3357" /etc/luks-keys/backups.bin noauto
|
||||||
|
backups1 UUID="5b3da928-4862-4451-89cd-5bd6a95466d0" /etc/luks-keys/backups.bin noauto
|
||||||
|
backups2 UUID="cbfa9cba-dee2-4d0b-8cde-2f1d1849b22c" /etc/luks-keys/backups.bin noauto
|
||||||
|
gnupg_secrets /mnt/secrets/gnupg.img none noauto
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,191 +1,20 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
{ config, pkgs, ... }:
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, stablePkgs, ... }:
|
{
|
||||||
|
|
||||||
let home = "/home/rilla";
|
|
||||||
in {
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules/common
|
./file-systems.nix
|
||||||
../../modules/common/desktop.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager.users.rilla.imports = [
|
home-manager.users.rilla.imports = [
|
||||||
../../../home/hosts/trantor.nix
|
../../../home/hosts/trantor.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
|
|
||||||
"/" = {
|
|
||||||
device = "tmpfs";
|
|
||||||
fsType = "tmpfs";
|
|
||||||
options = [ "defaults" "size=2G" "mode=755" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/boot/efi" = {
|
|
||||||
device = "/dev/disk/by-uuid/0BFA-9A66";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/btr_system" = {
|
|
||||||
device = "/dev/mapper/system";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/btr_user" = {
|
|
||||||
device = "/dev/mapper/user";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/persist" = {
|
|
||||||
device = "/dev/mapper/user";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=persist" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/data" = {
|
|
||||||
device = "/dev/mapper/user";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=data" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/vfs_share" = {
|
|
||||||
device = "/dev/mapper/user";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=vfs_share" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/nix" = {
|
|
||||||
device = "/dev/mapper/system";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/logs" = {
|
|
||||||
device = "/dev/mapper/system";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=logs" "compress=zstd" ];
|
|
||||||
neededForBoot = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/mapper/system";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=boot" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/swap" = {
|
|
||||||
device = "/dev/mapper/system";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=swap" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/narwhal" = {
|
|
||||||
device = "narwhal:/";
|
|
||||||
fsType = "nfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/backups/0" = {
|
|
||||||
device = "/dev/mapper/backups0";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/backups/1" = {
|
|
||||||
device = "/dev/mapper/backups1";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
"/mnt/backups/2" = {
|
|
||||||
device = "/dev/mapper/backups2";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [{ device = "/swap/swapfile"; }];
|
|
||||||
|
|
||||||
environment.etc = {
|
|
||||||
crypttab = {
|
|
||||||
text = ''
|
|
||||||
backups0 UUID="e45232d5-f46f-46f3-a150-be26374b3357" /etc/luks-keys/backups.bin noauto
|
|
||||||
backups1 UUID="5b3da928-4862-4451-89cd-5bd6a95466d0" /etc/luks-keys/backups.bin noauto
|
|
||||||
backups2 UUID="cbfa9cba-dee2-4d0b-8cde-2f1d1849b22c" /etc/luks-keys/backups.bin noauto
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.variables = {
|
|
||||||
NIXOS_CONFIG = "${home}/configs/nix-config/trantor.nix";
|
|
||||||
LV2_PATH =
|
|
||||||
"${home}/.nix-profile/lib/lv2:${home}/Audio/plugins/lv2:/run/current-system/sw/lib/lv2";
|
|
||||||
LXVST_PATH =
|
|
||||||
"${home}/.nix-profile/lib/lxvst:${home}/Audio/plugins/lxvst:/run/current-system/sw/lib/lxvst";
|
|
||||||
LADSPA_PATH =
|
|
||||||
"${home}/.nix-profile/lib/ladspa:${home}/Audio/plugins/ladspa:/run/current-system/sw/lib/ladspa";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.networkmanager.wifi.macAddress = "80:FA:5B:41:12:0F";
|
networking.networkmanager.wifi.macAddress = "80:FA:5B:41:12:0F";
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
programs.steam.enable = true;
|
programs.steam.enable = true;
|
||||||
|
|
||||||
boot = {
|
|
||||||
loader = {
|
|
||||||
efi = {
|
|
||||||
canTouchEfiVariables = true;
|
|
||||||
efiSysMountPoint = "/boot/efi";
|
|
||||||
};
|
|
||||||
grub = {
|
|
||||||
enable = true;
|
|
||||||
device = "nodev";
|
|
||||||
enableCryptodisk = true;
|
|
||||||
efiSupport = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
initrd = {
|
|
||||||
luks = {
|
|
||||||
#yubikeySupport = true;
|
|
||||||
devices = {
|
|
||||||
"system" = {
|
|
||||||
device = "/dev/disk/by-uuid/b9778e01-a86c-4c6b-beb3-f97888d4a6eb";
|
|
||||||
keyFile = "/system_keyfile.bin";
|
|
||||||
allowDiscards = true;
|
|
||||||
# yubikey = {
|
|
||||||
# slot = 2;
|
|
||||||
# twoFactor = false;
|
|
||||||
# gracePeriod = 30;
|
|
||||||
# keyLength = 64;
|
|
||||||
# saltLength = 16;
|
|
||||||
# storage = {
|
|
||||||
# device = "/dev/nvme0n1p1";
|
|
||||||
# fsType = "vfat";
|
|
||||||
# path = "/crypt-storage/default";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
"user" = {
|
|
||||||
device = "/dev/disk/by-uuid/d8e9b35d-704a-4f66-bc19-0dd3e158de36";
|
|
||||||
keyFile = "/user_keyfile.bin";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
secrets = {
|
|
||||||
"/system_keyfile.bin" = "/etc/luks-keys/system.bin";
|
|
||||||
"/user_keyfile.bin" = "/etc/luks-keys/user.bin";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# todo: target and/or archive
|
# todo: target and/or archive
|
||||||
services.btrbk = {
|
services.btrbk = {
|
||||||
sshAccess = [{
|
sshAccess = [{
|
||||||
|
|
|
@ -0,0 +1,154 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot/efi";
|
||||||
|
};
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "nodev";
|
||||||
|
enableCryptodisk = true;
|
||||||
|
efiSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
initrd = {
|
||||||
|
luks = {
|
||||||
|
#yubikeySupport = true;
|
||||||
|
devices = {
|
||||||
|
"system" = {
|
||||||
|
device = "/dev/disk/by-uuid/b9778e01-a86c-4c6b-beb3-f97888d4a6eb";
|
||||||
|
keyFile = "/system_keyfile.bin";
|
||||||
|
allowDiscards = true;
|
||||||
|
# yubikey = {
|
||||||
|
# slot = 2;
|
||||||
|
# twoFactor = false;
|
||||||
|
# gracePeriod = 30;
|
||||||
|
# keyLength = 64;
|
||||||
|
# saltLength = 16;
|
||||||
|
# storage = {
|
||||||
|
# device = "/dev/nvme0n1p1";
|
||||||
|
# fsType = "vfat";
|
||||||
|
# path = "/crypt-storage/default";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
"user" = {
|
||||||
|
device = "/dev/disk/by-uuid/d8e9b35d-704a-4f66-bc19-0dd3e158de36";
|
||||||
|
keyFile = "/user_keyfile.bin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
secrets = {
|
||||||
|
"/system_keyfile.bin" = "/etc/luks-keys/system.bin";
|
||||||
|
"/user_keyfile.bin" = "/etc/luks-keys/user.bin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
|
||||||
|
"/" = {
|
||||||
|
device = "tmpfs";
|
||||||
|
fsType = "tmpfs";
|
||||||
|
options = [ "defaults" "size=2G" "mode=755" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot/efi" = {
|
||||||
|
device = "/dev/disk/by-uuid/0BFA-9A66";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/btr_system" = {
|
||||||
|
device = "/dev/mapper/system";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/btr_user" = {
|
||||||
|
device = "/dev/mapper/user";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/persist" = {
|
||||||
|
device = "/dev/mapper/user";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=persist" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/data" = {
|
||||||
|
device = "/dev/mapper/user";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=data" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/vfs_share" = {
|
||||||
|
device = "/dev/mapper/user";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=vfs_share" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/nix" = {
|
||||||
|
device = "/dev/mapper/system";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/logs" = {
|
||||||
|
device = "/dev/mapper/system";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=logs" "compress=zstd" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/mapper/system";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=boot" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/swap" = {
|
||||||
|
device = "/dev/mapper/system";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=swap" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/narwhal" = {
|
||||||
|
device = "narwhal:/";
|
||||||
|
fsType = "nfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/backups/0" = {
|
||||||
|
device = "/dev/mapper/backups0";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/backups/1" = {
|
||||||
|
device = "/dev/mapper/backups1";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"/mnt/backups/2" = {
|
||||||
|
device = "/dev/mapper/backups2";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "noauto" "subvolid=5" "compress=zstd" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [{ device = "/swap/swapfile"; }];
|
||||||
|
|
||||||
|
environment.etc.crypttab.text = ''
|
||||||
|
backups0 UUID="e45232d5-f46f-46f3-a150-be26374b3357" /etc/luks-keys/backups.bin noauto
|
||||||
|
backups1 UUID="5b3da928-4862-4451-89cd-5bd6a95466d0" /etc/luks-keys/backups.bin noauto
|
||||||
|
backups2 UUID="cbfa9cba-dee2-4d0b-8cde-2f1d1849b22c" /etc/luks-keys/backups.bin noauto
|
||||||
|
'';
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
{ inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
modifications = final: prev: {
|
||||||
|
|
||||||
|
# # use lf fork with support for sixel graphics
|
||||||
|
# lf = prev.lf.overrideAttrs (old: {
|
||||||
|
# src = prev.fetchFromGitHub {
|
||||||
|
# owner = "horriblename";
|
||||||
|
# repo = "lf";
|
||||||
|
# rev = "8997e5b03772d5628ed6a490777048581d978674";
|
||||||
|
# sha256 = "rJq2Tv3py6HvRI1O2odTdGb1ksdijhO3FcJsPj5dm34=";
|
||||||
|
# };
|
||||||
|
# });
|
||||||
|
|
||||||
|
kile-wl = prev.rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "kile-wl";
|
||||||
|
version = "2023-08-23";
|
||||||
|
src = prev.fetchFromGitLab {
|
||||||
|
owner = "snakedye";
|
||||||
|
repo = "kile";
|
||||||
|
rev = "c24208761d04e0a74d203fc1dcd2f7fed68da388";
|
||||||
|
sha256 = "sha256-4iclNVd7nm6LkgvsHwWaWyi1bZL/A+bbT5OSXn70bLs=";
|
||||||
|
};
|
||||||
|
cargoLock = {
|
||||||
|
lockFile = src + "/Cargo.lock";
|
||||||
|
outputHashes = {
|
||||||
|
"kilexpr-0.1.0" =
|
||||||
|
"sha256-Bw6vYtzhheAJ8NLQtr3gLjZ9/5ajuABURRYDnVF9W1Y=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
meta = with prev.lib; {
|
||||||
|
description = "A tiling layout generator for river";
|
||||||
|
homepage = "https://gitlab.com/snakedye/kile";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms =
|
||||||
|
platforms.linux; # It's meant for river, a wayland compositor
|
||||||
|
mainProgram = "kile";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ristate = prev.ristate.overrideAttrs (old: rec {
|
||||||
|
src = prev.fetchFromGitLab {
|
||||||
|
owner = "snakedye";
|
||||||
|
repo = "ristate";
|
||||||
|
rev = "92e989f26cadac69af1208163733e73b4cf447da";
|
||||||
|
sha256 = "sha256-6slH7R6kbSXQBd7q38oBEbngaCbFv0Tyq34VB1PAfhM=";
|
||||||
|
};
|
||||||
|
cargoDeps = old.cargoDeps.overrideAttrs (prev.lib.const {
|
||||||
|
inherit src;
|
||||||
|
outputHash = "sha256-fOo9C0dNL9dYy5wXq/yEDqOV0OhOTEY42XK8ShpQh6k=";
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
stable-packages = final: prev: {
|
||||||
|
stable = import inputs.nixpkgs-stable {
|
||||||
|
system = final.system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue