feat/kile-v2
Ricard Illa 2022-01-28 15:11:30 +01:00
parent 87b6345e10
commit 28e4e017a3
No known key found for this signature in database
GPG Key ID: F69A672B72E54902
6 changed files with 303 additions and 568 deletions

View File

@ -5,61 +5,20 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
impermanence = builtins.fetchTarball {
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
};
home-manager = builtins.fetchTarball { home-manager = builtins.fetchTarball {
url = "https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz"; url =
"https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz";
}; };
in { in {
imports = [ # Include the results of the hardware scan. imports = [
./nixos/hardware-configuration/capibara.nix ./nixos/hardware-configuration/capibara.nix
./nixos/common.nix ./nixos/common.nix
"${home-manager}/nixos" "${home-manager}/nixos"
"${impermanence}/nixos.nix"
]; ];
home-manager.users.rilla = import home/capibara.nix; home-manager.users.rilla = import home/capibara.nix;
fileSystems = { fileSystems = {
"/" = {
device = "tmpfs";
fsType = "tmpfs";
options = [ "defaults" "size=2G" "mode=755" ];
};
"/persist/system" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" ];
neededForBoot = true;
};
"/persist/user" = {
device = "/dev/mapper/user";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" ];
neededForBoot = true;
};
"/nix" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" ];
};
"/boot" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=boot" "compress=zstd" ];
};
"/swap" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=swap" ];
};
"/home/rilla/Music" = { "/home/rilla/Music" = {
device = "narwhal:/music"; device = "narwhal:/music";
fsType = "nfs"; fsType = "nfs";
@ -70,37 +29,6 @@ in {
"x-systemd.idle-timeout=1min" "x-systemd.idle-timeout=1min"
]; ];
}; };
};
swapDevices = [{ device = "/swap/swapfile"; }];
environment.persistence = {
"/persist/system" = {
directories = [
"/var/log"
"/var/lib/bluetooth"
"/var/lib/systemd/coredump"
"/var/lib/docker"
];
files = [
"/etc/machine-id"
#"/etc/nix/id_rsa"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
"/etc/ssh/ssh_host_rsa_key"
"/etc/ssh/ssh_host_rsa_key.pub"
"/etc/wireguard/wg0"
];
};
"/persist/user" = {
directories = [
"/etc/NetworkManager/system-connections"
"/etc/nixos"
"/var/lib/libvirt"
];
files = [ "/etc/wireguard/wg0" ];
};
}; };
environment.variables.NIXOS_CONFIG = environment.variables.NIXOS_CONFIG =

View File

@ -1,212 +1,5 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let {
impermanence = builtins.fetchTarball { imports = [ ./nixos-common.nix ./desktop-sway ./alacritty ./theming ];
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
};
in {
# 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 = [
"${impermanence}/home-manager.nix"
./desktop-sway
./alacritty
./arduino
./barrier
./browsers
./dav
# ./desktop-xmonad/capibara.nix
./fonts
./git
./gotify
./gpg
./idasen
./mail
./minidisc
./mpd
./msg
./music
./neovim
./pass
./rss
./snapcast
./sound
./ssh
./theming
./tmux
./vitetris
./wallets
./zsh
];
home.persistence."/persist/system/${config.home.homeDirectory}" = {
directories = [
".abook"
".bitmonero"
".cache"
".config/Nextcloud"
".config/chromium"
".config/whatsapp-for-linux"
".gnupg/private-keys-v1.d"
".local/share/keyrings"
".local/share/mpd"
".local/share/webkitgtk"
".mozilla"
".newsboat"
".vdirsyncer"
];
files = [
".gnupg/pubring.kbx"
".gnupg/trustdb.gpg"
".mailsynclastrun"
".ssh/known_hosts"
".zsh_history"
];
allowOther = true;
};
home.persistence."/persist/user/${config.home.homeDirectory}" = {
directories = [
".config/Signal"
".config/Element"
".local/share/TelegramDesktop"
".local/share/dino"
".local/share/Bisq"
".password-store"
".walletwasabi"
"Calendars"
"Contacts"
"Documents"
"Downloads"
"Images"
"Maildir"
"Monero"
"Nextcloud"
"code"
"configs"
"misc"
"workspace"
];
files = [ ];
allowOther = true;
};
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";
QT_QPA_PLATFORMTHEME = "qt5ct";
};
home.packages = with pkgs; [
R
acpi
android-tools
ansible
bind.dnsutils
calibre
docker-compose
file
gimp
gnumake
htop
jq
killall
libnotify
libreoffice
lxqt.pcmanfm-qt
mosh
mpv
neofetch
networkmanagerapplet
nextcloud-client
pandoc
pv
ripgrep
signify
sxiv
telnet
virt-manager
wget
];
services.syncthing.enable = true;
services.kdeconnect.enable = 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;
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = " firefox.desktop";
"x-scheme-handler/chrome" = " firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
};
associations.added = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = " firefox.desktop";
"x-scheme-handler/chrome" = " firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
"autoconnect" = [ "qemu:///system" ];
"uris" = [ "qemu:///system" ];
};
};
home.stateVersion = "21.11";
} }

210
home/nixos-common.nix Normal file
View File

@ -0,0 +1,210 @@
{ config, pkgs, ... }:
let
impermanence = builtins.fetchTarball {
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
};
in {
# 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 = [
"${impermanence}/home-manager.nix"
./arduino
./barrier
./browsers
./dav
./fonts
./git
./gotify
./gpg
./idasen
./mail
./minidisc
./mpd
./msg
./music
./neovim
./pass
./rss
./snapcast
./sound
./ssh
./tmux
./vitetris
./wallets
./zsh
];
home.persistence = {
"/persist/system/${config.home.homeDirectory}" = {
directories = [
".abook"
".bitmonero"
".cache"
".config/Nextcloud"
".config/chromium"
".config/whatsapp-for-linux"
".gnupg/private-keys-v1.d"
".local/share/keyrings"
".local/share/mpd"
".local/share/webkitgtk"
".mozilla"
".newsboat"
".vdirsyncer"
];
files = [
".gnupg/pubring.kbx"
".gnupg/trustdb.gpg"
".mailsynclastrun"
".ssh/known_hosts"
".zsh_history"
];
allowOther = true;
};
"/persist/user/${config.home.homeDirectory}" = {
directories = [
".config/Signal"
".config/Element"
".local/share/TelegramDesktop"
".local/share/dino"
".local/share/Bisq"
".password-store"
".walletwasabi"
"Calendars"
"Contacts"
"Documents"
"Downloads"
"Images"
"Maildir"
"Monero"
"Nextcloud"
"code"
"configs"
"misc"
"workspace"
];
files = [ ];
allowOther = true;
};
};
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";
QT_QPA_PLATFORMTHEME = "qt5ct";
};
home.packages = with pkgs; [
R
acpi
android-tools
ansible
bind.dnsutils
calibre
docker-compose
file
gimp
gnumake
htop
jq
killall
libnotify
libreoffice
lxqt.pcmanfm-qt
mosh
mpv
neofetch
networkmanagerapplet
nextcloud-client
pandoc
pv
ripgrep
signify
sxiv
telnet
virt-manager
wget
];
services.syncthing.enable = true;
services.kdeconnect.enable = 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;
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = " firefox.desktop";
"x-scheme-handler/chrome" = " firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
};
associations.added = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = " firefox.desktop";
"x-scheme-handler/chrome" = " firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
"autoconnect" = [ "qemu:///system" ];
"uris" = [ "qemu:///system" ];
};
};
home.stateVersion = "21.11";
}

View File

@ -1,212 +1,10 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
let {
impermanence = builtins.fetchTarball {
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
};
in {
# 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 = [ imports = [
"${impermanence}/home-manager.nix" ./nixos-common.nix
# ./desktop-sway
./alacritty/trantor.nix ./alacritty/trantor.nix
./arduino
./barrier
./browsers
./dav
./desktop-xmonad/trantor.nix ./desktop-xmonad/trantor.nix
./fonts
./git
./gotify
./gpg
./idasen
./mail
./minidisc
./mpd
./msg
./music
./neovim
./pass
./rss
./snapcast
./sound
./ssh
./theming/trantor.nix ./theming/trantor.nix
./tmux
./vitetris
./wallets
./zsh
]; ];
home.persistence."/persist/system/${config.home.homeDirectory}" = {
directories = [
".abook"
".bitmonero"
".cache"
".config/Nextcloud"
".config/chromium"
".config/whatsapp-for-linux"
".gnupg/private-keys-v1.d"
".local/share/keyrings"
".local/share/mpd"
".local/share/webkitgtk"
".mozilla"
".newsboat"
".vdirsyncer"
];
files = [
".gnupg/pubring.kbx"
".gnupg/trustdb.gpg"
".mailsynclastrun"
".ssh/known_hosts"
".zsh_history"
];
allowOther = true;
};
home.persistence."/persist/user/${config.home.homeDirectory}" = {
directories = [
".config/Signal"
".config/Element"
".local/share/TelegramDesktop"
".local/share/dino"
".local/share/Bisq"
".password-store"
".walletwasabi"
"Calendars"
"Contacts"
"Documents"
"Downloads"
"Images"
"Maildir"
"Monero"
"Nextcloud"
"code"
"configs"
"misc"
"workspace"
];
files = [ ];
allowOther = true;
};
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";
QT_QPA_PLATFORMTHEME = "qt5ct";
};
home.packages = with pkgs; [
R
acpi
android-tools
ansible
bind.dnsutils
calibre
docker-compose
file
gimp
gnumake
htop
jq
killall
libnotify
libreoffice
lxqt.pcmanfm-qt
mosh
mpv
neofetch
networkmanagerapplet
nextcloud-client
pandoc
pv
ripgrep
signify
sxiv
telnet
virt-manager
wget
];
services.syncthing.enable = true;
services.kdeconnect.enable = 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;
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = " firefox.desktop";
"x-scheme-handler/chrome" = " firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
};
associations.added = {
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = " firefox.desktop";
"x-scheme-handler/chrome" = " firefox.desktop";
"text/html" = "firefox.desktop";
"application/x-extension-htm" = "firefox.desktop";
"application/x-extension-html" = "firefox.desktop";
"application/x-extension-shtml" = "firefox.desktop";
"application/xhtml+xml" = "firefox.desktop";
"application/x-extension-xhtml" = "firefox.desktop";
"application/x-extension-xht" = "firefox.desktop";
"x-scheme-handler/tg" = "userapp-Telegram Desktop.desktop";
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
"autoconnect" = [ "qemu:///system" ];
"uris" = [ "qemu:///system" ];
};
};
home.stateVersion = "21.11";
} }

View File

@ -1,6 +1,12 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ let
impermanence = builtins.fetchTarball {
url = "https://github.com/nix-community/impermanence/archive/master.tar.gz";
};
in {
imports = [ "${impermanence}/nixos.nix" ];
nixpkgs.config = { nixpkgs.config = {
packageOverrides = pkgs: { packageOverrides = pkgs: {
nur = import (builtins.fetchTarball nur = import (builtins.fetchTarball
@ -206,6 +212,76 @@
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
services.blueman.enable = true; services.blueman.enable = true;
fileSystems = {
"/" = {
device = "tmpfs";
fsType = "tmpfs";
options = [ "defaults" "size=2G" "mode=755" ];
};
"/persist/system" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" ];
neededForBoot = true;
};
"/persist/user" = {
device = "/dev/mapper/user";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" ];
neededForBoot = true;
};
"/nix" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" ];
};
"/boot" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=boot" "compress=zstd" ];
};
"/swap" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=swap" ];
};
};
swapDevices = [{ device = "/swap/swapfile"; }];
environment.persistence = {
"/persist/system" = {
directories = [
"/var/log"
"/var/lib/bluetooth"
"/var/lib/systemd/coredump"
"/var/lib/docker"
];
files = [
"/etc/machine-id"
#"/etc/nix/id_rsa"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
"/etc/ssh/ssh_host_rsa_key"
"/etc/ssh/ssh_host_rsa_key.pub"
"/etc/wireguard/wg0"
];
};
"/persist/user" = {
directories = [
"/etc/NetworkManager/system-connections"
"/etc/nixos"
"/var/lib/libvirt"
];
files = [ "/etc/wireguard/wg0" ];
};
};
# Open ports in the firewall. # Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedTCPPorts = [ ... ];
# #

View File

@ -13,104 +13,34 @@ let
"https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz"; "https://github.com/nix-community/home-manager/archive/release-21.11.tar.gz";
}; };
in { in {
imports = [ # Include the results of the hardware scan. imports = [
./nixos/hardware-configuration/trantor.nix ./nixos/hardware-configuration/trantor.nix
./nixos/common.nix ./nixos/common.nix
"${home-manager}/nixos" "${home-manager}/nixos"
"${impermanence}/nixos.nix"
]; ];
home-manager.users.rilla = import home/trantor.nix; home-manager.users.rilla = import home/trantor.nix;
fileSystems = { fileSystems = {
"/" = {
device = "tmpfs";
fsType = "tmpfs";
options = [ "defaults" "size=2G" "mode=755" ];
};
"/persist/system" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" ];
neededForBoot = true;
};
"/persist/user" = {
device = "/dev/mapper/user";
fsType = "btrfs";
options = [ "subvol=persist" "compress=zstd" ];
neededForBoot = true;
};
"/nix" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" ];
};
"/boot" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=boot" "compress=zstd" ];
};
"/boot/efi" = { "/boot/efi" = {
device = "/dev/disk/by-uuid/0BFA-9A66"; device = "/dev/disk/by-uuid/0BFA-9A66";
fsType = "vfat"; fsType = "vfat";
}; };
"/swap" = {
device = "/dev/mapper/system";
fsType = "btrfs";
options = [ "subvol=swap" ];
};
"/home/rilla/music" = { "/home/rilla/music" = {
device = "narwhal:/music"; device = "narwhal:/music";
fsType = "nfs"; fsType = "nfs";
options = [ options =
"nfsvers=4" [ "nfsvers=4" "x-systemd.automount" "x-systemd.idle-timeout=1min" ];
"x-systemd.automount"
"x-systemd.idle-timeout=1min"
];
}; };
# "/home/rilla/calibre" = { "/home/rilla/calibre" = {
# device = "narwhal:/calibre"; device = "narwhal:/calibre";
# fsType = "nfs"; fsType = "nfs";
# options = [ options =
# "nfsvers=4" [ "nfsvers=4" "x-systemd.automount" "x-systemd.idle-timeout=1min" ];
# "noauto"
# "x-systemd.automount"
# "x-systemd.idle-timeout=1min"
# ];
# };
};
swapDevices = [{ device = "/swap/swapfile"; }];
environment.persistence = {
"/persist/system" = {
directories = [
"/var/log"
"/var/lib/bluetooth"
"/var/lib/systemd/coredump"
"/var/lib/docker"
];
files = [
"/etc/machine-id"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
"/etc/ssh/ssh_host_rsa_key"
"/etc/ssh/ssh_host_rsa_key.pub"
# "/etc/wireguard/wg0"
];
};
"/persist/user" = {
directories =
[ "/etc/NetworkManager/system-connections" "/var/lib/libvirt" ];
}; };
}; };
environment.variables.NIXOS_CONFIG = environment.variables.NIXOS_CONFIG =