Formatting pass with alejandra

This commit is contained in:
Evie Litherland-Smith 2023-05-17 17:10:18 +01:00
parent bd8711db77
commit 3a282dbee5
84 changed files with 259 additions and 292 deletions

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./home ./home
./common.nix ./common.nix
@ -15,7 +14,7 @@
users.users.elitherl = { users.users.elitherl = {
isNormalUser = true; isNormalUser = true;
description = "Evie Litherland-Smith"; description = "Evie Litherland-Smith";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
shell = pkgs.fish; shell = pkgs.fish;
}; };
home-manager.users.root = import ./home/H0615/root.nix; home-manager.users.root = import ./home/H0615/root.nix;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./home ./home
./common.nix ./common.nix
@ -15,7 +14,7 @@
users.users.elitherl = { users.users.elitherl = {
isNormalUser = true; isNormalUser = true;
description = "Evie Litherland-Smith"; description = "Evie Litherland-Smith";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
shell = pkgs.fish; shell = pkgs.fish;
}; };
home-manager.users.root = import ./home/J0162/root.nix; home-manager.users.root = import ./home/J0162/root.nix;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./home ./home
./common.nix ./common.nix
@ -17,13 +16,16 @@
networking.hostName = "Vanguard"; # Define your hostname. networking.hostName = "Vanguard"; # Define your hostname.
#networking.wireless.networks."LAN LAN Ranch".pskRaw = "d4c31e976456783b61d573ee49c94f93914a81bf1048c2f2e1e166c36bdfcd4a"; #networking.wireless.networks."LAN LAN Ranch".pskRaw = "d4c31e976456783b61d573ee49c94f93914a81bf1048c2f2e1e166c36bdfcd4a";
networking.nameservers = [ "192.168.1.166" "9.9.9.9" ]; networking.nameservers = ["192.168.1.166" "9.9.9.9"];
networking.firewall = { enable = true; allowedTCPPorts = [ 22 ]; }; networking.firewall = {
enable = true;
allowedTCPPorts = [22];
};
users.users.xenia = { users.users.xenia = {
isNormalUser = true; isNormalUser = true;
description = "Evie Litherland-Smith"; description = "Evie Litherland-Smith";
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = ["networkmanager" "wheel"];
shell = pkgs.fish; shell = pkgs.fish;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII1tJFdbiyJApuVZFvo9E9kjlBwvXZeySqVuS2qGdxha tux@monarch" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII1tJFdbiyJApuVZFvo9E9kjlBwvXZeySqVuS2qGdxha tux@monarch"
@ -37,7 +39,7 @@
# Extra hardware configuration # Extra hardware configuration
hardware.openrazer = { hardware.openrazer = {
enable = true; enable = true;
users = [ "xenia" ]; users = ["xenia"];
}; };
system.autoUpgrade = { system.autoUpgrade = {

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;

View file

@ -1,9 +1,8 @@
{ pkgs, ... }: {pkgs, ...}: {
{
nixpkgs.overlays = [ nixpkgs.overlays = [
(self: super: { (self: super: {
waybar = super.waybar.overrideAttrs (oldAttrs: { waybar = super.waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
}); });
}) })
]; ];
@ -14,7 +13,7 @@
pkgs.pamixer pkgs.pamixer
pkgs.pulseaudio pkgs.pulseaudio
]; ];
security.pam.services.swaylock = { }; security.pam.services.swaylock = {};
programs.hyprland = { programs.hyprland = {
enable = true; enable = true;
xwayland = { xwayland = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./xserver.nix ./xserver.nix
./sddm.nix ./sddm.nix

View file

@ -1,5 +1,7 @@
{ stdenv, fetchFromGitHub }:
{ {
stdenv,
fetchFromGitHub,
}: {
sddm-catppuccin-macchiato = stdenv.mkDerivation rec { sddm-catppuccin-macchiato = stdenv.mkDerivation rec {
pname = "sddm-catppuccin-macchiato-theme"; pname = "sddm-catppuccin-macchiato-theme";
version = "1.0"; version = "1.0";

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ imports = [./xserver.nix ./sddm.nix];
imports = [ ./xserver.nix ./sddm.nix ];
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -1,14 +1,12 @@
{ pkgs, ... }: {pkgs, ...}: let
let sddm-catppuccin-macchiato = pkgs.callPackage ./pkgs/sddm-catppuccin-macchiato.nix {};
sddm-catppuccin-macchiato = pkgs.callPackage ./pkgs/sddm-catppuccin-macchiato.nix { }; in {
in
{
environment.systemPackages = [ environment.systemPackages = [
sddm-catppuccin-macchiato.sddm-catppuccin-macchiato sddm-catppuccin-macchiato.sddm-catppuccin-macchiato
]; ];
services.xserver.displayManager.sddm = { services.xserver.displayManager.sddm = {
enable = true; enable = true;
theme = "catppuccin-macchiato"; theme = "catppuccin-macchiato";
settings = { General = { InputMethod = ""; }; }; settings = {General = {InputMethod = "";};};
}; };
} }

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ environment.systemPackages = [pkgs.mesa];
environment.systemPackages = [ pkgs.mesa ];
programs.gamescope.enable = true; programs.gamescope.enable = true;
programs.steam = { programs.steam = {
enable = true; enable = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./xserver.nix ./xserver.nix
./sddm.nix ./sddm.nix

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./xserver.nix ./xserver.nix
./sddm.nix ./sddm.nix

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.xserver = { services.xserver = {
enable = true; enable = true;
layout = "gb"; layout = "gb";

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
# Enable sound with pipewire. # Enable sound with pipewire.
sound.enable = true; sound.enable = true;
hardware.pulseaudio.enable = false; hardware.pulseaudio.enable = false;

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
hardware.bluetooth = { hardware.bluetooth = {
enable = true; enable = true;
powerOnBoot = true; powerOnBoot = true;

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
imports = [ ../work.nix ]; imports = [../work.nix];
# Home Manager needs a bit of information about you and the # Home Manager needs a bit of information about you and the
# paths it should manage. # paths it should manage.
home.username = "elitherl"; home.username = "elitherl";

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
../env ../env
../tui ../tui

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
imports = [ ../work.nix ]; imports = [../work.nix];
# Home Manager needs a bit of information about you and the # Home Manager needs a bit of information about you and the
# paths it should manage. # paths it should manage.
home.username = "elitherl"; home.username = "elitherl";

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
../env ../env
../tui ../tui

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
../env ../env
../tui ../tui

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
../env ../env
../tui ../tui

View file

@ -1,9 +1,9 @@
{ pkgs, ... }: { {pkgs, ...}: {
imports = [ ../personal.nix ]; imports = [../personal.nix];
home.username = "xenia"; home.username = "xenia";
home.homeDirectory = "/home/xenia"; home.homeDirectory = "/home/xenia";
home.stateVersion = "22.11"; home.stateVersion = "22.11";
home.packages = with pkgs; [ prismlauncher ]; home.packages = with pkgs; [prismlauncher];
# xdg.configFile."hypr/hyprpaper.conf".source = ../desktop/config/hypr/hyprpaper-Vanguard.conf; # xdg.configFile."hypr/hyprpaper.conf".source = ../desktop/config/hypr/hyprpaper-Vanguard.conf;
# wayland.windowManager.hyprland.extraConfig = '' # wayland.windowManager.hyprland.extraConfig = ''

View file

@ -1,5 +1,3 @@
{ ... }: {...}: let
let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz"; home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
in in {imports = [(import "${home-manager}/nixos")];}
{ imports = [ (import "${home-manager}/nixos") ]; }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
nitrogen nitrogen
polybar polybar
@ -18,7 +17,7 @@
pointer_action3 = "resize_corner"; pointer_action3 = "resize_corner";
}; };
monitors = { monitors = {
"primary" = [ "I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" ]; "primary" = ["I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX"];
}; };
rules = { rules = {
"Xfce4-terminal".state = "floating"; "Xfce4-terminal".state = "floating";
@ -37,6 +36,6 @@
"Bitwarden".desktop = "^7"; "Bitwarden".desktop = "^7";
"Nxplayer.bin".desktop = "^8"; "Nxplayer.bin".desktop = "^8";
}; };
extraConfig = builtins.readFile (./config/bspwm/startup.sh); extraConfig = builtins.readFile ./config/bspwm/startup.sh;
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.dunst = { services.dunst = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
jq jq
socat socat

View file

@ -1,5 +1,8 @@
{ pkgs, config, ... }:
{ {
pkgs,
config,
...
}: {
gtk = { gtk = {
enable = true; enable = true;
cursorTheme = { cursorTheme = {

View file

@ -1,12 +1,12 @@
{ pkgs, ... }: {pkgs, ...}: let
let
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland = (import flake-compat { hyprland =
(import flake-compat {
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/2df0d034bc4a18fafb3524401eeeceaa6b23e753.tar.gz"; src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/2df0d034bc4a18fafb3524401eeeceaa6b23e753.tar.gz";
}).defaultNix; })
in .defaultNix;
{ in {
imports = [ imports = [
hyprland.homeManagerModules.default hyprland.homeManagerModules.default
./swaylock.nix ./swaylock.nix
@ -29,6 +29,9 @@ in
xdg.configFile."hypr/window-rules.conf".source = ./config/hypr/window-rules.conf; xdg.configFile."hypr/window-rules.conf".source = ./config/hypr/window-rules.conf;
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland = { enable = true; hidpi = true; }; xwayland = {
enable = true;
hidpi = true;
};
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.picom = { services.picom = {
enable = true; enable = true;
backend = "glx"; backend = "glx";

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ home.packages = with pkgs; [bluez];
home.packages = with pkgs; [ bluez ];
services.polybar = { services.polybar = {
enable = true; enable = true;
config = ./config/polybar/polybar.ini; config = ./config/polybar/polybar.ini;

View file

@ -1,11 +1,9 @@
{ pkgs, ... }: {pkgs, ...}: let
let
powermenu = pkgs.writeShellScriptBin "powermenu" (builtins.readFile ./scripts/powermenu); powermenu = pkgs.writeShellScriptBin "powermenu" (builtins.readFile ./scripts/powermenu);
power-profiles = pkgs.writeShellScriptBin "power-profiles" (builtins.readFile ./scripts/power-profiles); power-profiles = pkgs.writeShellScriptBin "power-profiles" (builtins.readFile ./scripts/power-profiles);
in in {
{ imports = [../gui/foot.nix];
imports = [ ../gui/foot.nix ]; home.packages = with pkgs; [papirus-icon-theme powermenu power-profiles];
home.packages = with pkgs; [ papirus-icon-theme powermenu power-profiles ];
programs.rofi = { programs.rofi = {
enable = true; enable = true;
location = "center"; location = "center";

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{
#xdg.configFile."sway".source = ./config/sway; #xdg.configFile."sway".source = ./config/sway;
home.packages = with pkgs; [ brightnessctl ]; home.packages = with pkgs; [brightnessctl];
wayland.windowManager.sway = { enable = true; }; wayland.windowManager.sway = {enable = true;};
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.swaylock = { programs.swaylock = {
enable = true; enable = true;
package = pkgs.swaylock-effects; package = pkgs.swaylock-effects;

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
services.sxhkd = { services.sxhkd = {
enable = true; enable = true;
keybindings = { keybindings = {

View file

@ -1,7 +1,6 @@
{ pkgs, ... }: {pkgs, ...}: {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; }) (nerdfonts.override {fonts = ["FiraCode"];})
bluez bluez
]; ];
xdg.configFile."waybar" = { xdg.configFile."waybar" = {

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./gtk.nix ./gtk.nix
./bspwm.nix ./bspwm.nix

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: {pkgs, ...}: {
{ xresources.extraConfig =
xresources.extraConfig = builtins.readFile builtins.readFile
( (
pkgs.fetchFromGitHub pkgs.fetchFromGitHub
{ {
@ -8,14 +8,18 @@
repo = "xresources"; repo = "xresources";
rev = "d82c02323e05158ad35f302771e3695affafab78"; rev = "d82c02323e05158ad35f302771e3695affafab78";
sha256 = "irRQPjvcTH6AUC07Sm2l77CkrZQNHNJXxBDBSIhl1Fg="; sha256 = "irRQPjvcTH6AUC07Sm2l77CkrZQNHNJXxBDBSIhl1Fg=";
} + "/macchiato.Xresources" }
) + "\n" + builtins.readFile ( + "/macchiato.Xresources"
)
+ "\n"
+ builtins.readFile (
pkgs.fetchFromGitHub pkgs.fetchFromGitHub
{ {
owner = "catppuccin"; owner = "catppuccin";
repo = "urxvt"; repo = "urxvt";
rev = "ccd8eb763edd0a382b5e9bbfbd9697c4d4129edf"; rev = "ccd8eb763edd0a382b5e9bbfbd9697c4d4129edf";
sha256 = "YFlSGJzWWB57eSXiUY4l/mSBbOY0an+qej6//YLSiuE="; sha256 = "YFlSGJzWWB57eSXiUY4l/mSBbOY0an+qej6//YLSiuE=";
} + "/macchiato.Xresources" }
+ "/macchiato.Xresources"
); );
} }

4
home/env/bash.nix vendored
View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
programs.bash = { programs.bash = {
enable = true; enable = true;
shellAliases = { shellAliases = {

6
home/env/bat.nix vendored
View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.bat = { programs.bat = {
enable = true; enable = true;
config = { config = {
@ -12,7 +11,8 @@
repo = "bat"; repo = "bat";
rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1"; rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
sha256 = "6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw="; sha256 = "6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
} + "/Catppuccin-macchiato.tmTheme"); }
+ "/Catppuccin-macchiato.tmTheme");
}; };
}; };
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./bash.nix ./bash.nix
./bat.nix ./bat.nix
@ -11,5 +10,5 @@
./starship.nix ./starship.nix
./zsh.nix ./zsh.nix
]; ];
home.packages = with pkgs; [ dig file gnumake silver-searcher ]; home.packages = with pkgs; [dig file gnumake silver-searcher];
} }

3
home/env/direnv.nix vendored
View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{
programs.direnv.enable = true; programs.direnv.enable = true;
} }

4
home/env/fish.nix vendored
View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
programs.fish = { programs.fish = {
enable = true; enable = true;
shellAbbrs = { shellAbbrs = {

View file

@ -1,9 +1,8 @@
{ ... }: {...}: {
{
programs.keychain = { programs.keychain = {
enable = true; enable = true;
extraFlags = [ "--quiet" "--noask" "--ignore-missing" ]; extraFlags = ["--quiet" "--noask" "--ignore-missing"];
keys = [ "id_rsa" "id_ed25519" ]; keys = ["id_rsa" "id_ed25519"];
enableXsessionIntegration = true; enableXsessionIntegration = true;
}; };
} }

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{
programs.nix-index.enable = true; programs.nix-index.enable = true;
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
programs.readline = { programs.readline = {
enable = true; enable = true;
includeSystemConfig = true; includeSystemConfig = true;

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ home.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode"];})];
home.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" ]; }) ];
xdg.configFile."starship.toml".source = ./config/starship.toml; xdg.configFile."starship.toml".source = ./config/starship.toml;
programs.starship.enable = true; programs.starship.enable = true;
} }

4
home/env/zsh.nix vendored
View file

@ -1,6 +1,4 @@
{ config, ... }: {config, ...}: {
{
programs.zsh = { programs.zsh = {
enable = true; enable = true;
shellAliases = { shellAliases = {

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
programs.git = { programs.git = {
enable = true; enable = true;
userName = "Evie Litherland-Smith"; userName = "Evie Litherland-Smith";

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{ imports = [./common.nix];
imports = [ ./common.nix ];
programs.git.userEmail = "evie@xenia.me.uk"; programs.git.userEmail = "evie@xenia.me.uk";
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{ imports = [./common.nix];
imports = [ ./common.nix ];
programs.git.userEmail = "evie.litherland-smith@ukaea.uk"; programs.git.userEmail = "evie.litherland-smith@ukaea.uk";
} }

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ imports = [./wezterm.nix];
imports = [ ./wezterm.nix ];
programs.firefox.enable = true; programs.firefox.enable = true;
programs.librewolf.enable = true; programs.librewolf.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [

View file

@ -1,6 +1,5 @@
{ pkgs, ... }: {pkgs, ...}: {
{ home.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode"];})];
home.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" ]; }) ];
programs.foot = { programs.foot = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,10 +1,8 @@
{ pkgs, ... }: {pkgs, ...}: {
{
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font = { font = {
package = with pkgs; (nerdfonts.override { fonts = [ "FiraCode" ]; }); package = with pkgs; (nerdfonts.override {fonts = ["FiraCode"];});
name = "Fira Code Nerd Font"; name = "Fira Code Nerd Font";
size = 14; size = 14;
}; };

View file

@ -1,8 +1,7 @@
{ pkgs, ... }: {pkgs, ...}: {
{ home.packages = with pkgs; [(nerdfonts.override {fonts = ["FiraCode"];})];
home.packages = with pkgs; [ (nerdfonts.override { fonts = [ "FiraCode" ]; }) ];
programs.urxvt = { programs.urxvt = {
enable = true; enable = true;
fonts = [ "xft:FiraCode Nerd Font Mono:pixelsize=16" ]; fonts = ["xft:FiraCode Nerd Font Mono:pixelsize=16"];
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
programs.wezterm = { programs.wezterm = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./env ./env
./gui ./gui

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
programs.ssh = { programs.ssh = {
enable = true; enable = true;
forwardAgent = true; forwardAgent = true;
@ -7,6 +6,6 @@
serverAliveCountMax = 3; serverAliveCountMax = 3;
controlMaster = "auto"; controlMaster = "auto";
controlPersist = "1s"; controlPersist = "1s";
matchBlocks = { "git.*".user = "git"; }; matchBlocks = {"git.*".user = "git";};
}; };
} }

View file

@ -1,10 +1,9 @@
{ lib, ... }: {lib, ...}: {
{ imports = [./common.nix];
imports = [ ./common.nix ];
programs.ssh.matchBlocks = { programs.ssh.matchBlocks = {
"vanguard" = { user = "xenia"; }; "vanguard" = {user = "xenia";};
"git.xenia.me.uk" = lib.hm.dag.entryBefore [ "git.*" ] { user = "gitea"; }; "git.xenia.me.uk" = lib.hm.dag.entryBefore ["git.*"] {user = "gitea";};
"vanguard *xenia.me.uk" = lib.hm.dag.entryAfter [ "vanguard" ] { "vanguard *xenia.me.uk" = lib.hm.dag.entryAfter ["vanguard"] {
hostname = "192.168.1.166"; hostname = "192.168.1.166";
port = 2222; port = 2222;
}; };

View file

@ -1,7 +1,10 @@
{ pkgs, lib, ... }:
{ {
imports = [ ./common.nix ]; pkgs,
home.packages = with pkgs; [ sshfs ]; lib,
...
}: {
imports = [./common.nix];
home.packages = with pkgs; [sshfs];
programs.ssh.matchBlocks = { programs.ssh.matchBlocks = {
"batch" = { "batch" = {
user = "cxsbatch"; user = "cxsbatch";
@ -20,10 +23,10 @@
"freia" = { "freia" = {
hostname = "freia022.hpc.l"; hostname = "freia022.hpc.l";
}; };
"freia???" = lib.hm.dag.entryAfter [ "freia" ] { "freia???" = lib.hm.dag.entryAfter ["freia"] {
hostname = "%h.hpc.l"; hostname = "%h.hpc.l";
}; };
"freia* jupyter" = lib.hm.dag.entryAfter [ "freia" "freia???" "jupyter" ] { "freia* jupyter" = lib.hm.dag.entryAfter ["freia" "freia???" "jupyter"] {
user = "elitherl"; user = "elitherl";
}; };
}; };

View file

@ -5,14 +5,14 @@
showIcons = true; showIcons = true;
theme = { theme = {
lightTheme = false; lightTheme = false;
activeBorderColor = [ "#a6da95" "bold" ]; activeBorderColor = ["#a6da95" "bold"];
inactiveBorderColor = [ "#cad3f5" ]; inactiveBorderColor = ["#cad3f5"];
optionsTextColor = [ "#8aadf4" ]; optionsTextColor = ["#8aadf4"];
selectedLineBgColor = [ "#363a4f" ]; selectedLineBgColor = ["#363a4f"];
selectedRangeBgColor = [ "#363a4f" ]; selectedRangeBgColor = ["#363a4f"];
cherryPickedCommitBgColor = [ "#8bd5ca" ]; cherryPickedCommitBgColor = ["#8bd5ca"];
cherryPickedCommitFgColor = [ "#8aadf4" ]; cherryPickedCommitFgColor = ["#8aadf4"];
unstagedChangesColor = [ "red" ]; unstagedChangesColor = ["red"];
}; };
}; };
update.method = "never"; update.method = "never";

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
./neovim.nix ./neovim.nix
./lazygit.nix ./lazygit.nix

View file

@ -1,6 +1,4 @@
{ ... }: {...}: {
{
programs.lazygit = { programs.lazygit = {
enable = true; enable = true;
settings = import ./config/lazygit.nix; settings = import ./config/lazygit.nix;

View file

@ -1,17 +1,20 @@
{ pkgs, ... }: {pkgs, ...}: {
{ imports = [./common.nix];
imports = [ ./common.nix ];
programs.tmux = { programs.tmux = {
enable = true; enable = true;
clock24 = true; clock24 = true;
extraConfig = builtins.readFile (./config/tmux.conf) + "\n" + builtins.readFile ( extraConfig =
builtins.readFile ./config/tmux.conf
+ "\n"
+ builtins.readFile (
pkgs.fetchFromGitHub pkgs.fetchFromGitHub
{ {
owner = "catppuccin"; owner = "catppuccin";
repo = "tmux"; repo = "tmux";
rev = "4e48b09a76829edc7b55fbb15467cf0411f07931"; rev = "4e48b09a76829edc7b55fbb15467cf0411f07931";
sha256 = "bXEsxt4ozl3cAzV3ZyvbPsnmy0RAdpLxHwN82gvjLdU="; sha256 = "bXEsxt4ozl3cAzV3ZyvbPsnmy0RAdpLxHwN82gvjLdU=";
} + "/catppuccin-macchiato.tmuxtheme" }
+ "/catppuccin-macchiato.tmuxtheme"
); );
}; };
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: {
{
imports = [ imports = [
./env ./env
./gui ./gui

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }:
{ {
config,
pkgs,
...
}: {
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/London"; time.timeZone = "Europe/London";

View file

@ -1,6 +1,5 @@
{ ... }: {...}: {
{ imports = [./traefik.nix];
imports = [ ./traefik.nix ];
services.adguardhome = { services.adguardhome = {
enable = true; enable = true;
mutableSettings = true; mutableSettings = true;
@ -8,11 +7,15 @@
openFirewall = true; openFirewall = true;
}; };
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ 53 ]; allowedTCPPorts = [53];
allowedUDPPorts = [ 53 ]; allowedUDPPorts = [53];
}; };
services.traefik.dynamicConfigOptions.http = { services.traefik.dynamicConfigOptions.http = {
routers.adguard = { rule = "Host(`guard.xenia.me.uk`)"; service = "adguard-webinterface"; tls = { certResolver = "default"; }; }; routers.adguard = {
services.adguard-webinterface.loadBalancer.servers = [{ url = "http://localhost:3001"; }]; rule = "Host(`guard.xenia.me.uk`)";
service = "adguard-webinterface";
tls = {certResolver = "default";};
};
services.adguard-webinterface.loadBalancer.servers = [{url = "http://localhost:3001";}];
}; };
} }

View file

@ -1,8 +1,7 @@
{ ... }: {...}: {
{
services.fail2ban = { services.fail2ban = {
enable = true; enable = true;
ignoreIP = [ "127.0.0.1/8" "::1" "192.168.1.0/16" ]; ignoreIP = ["127.0.0.1/8" "::1" "192.168.1.0/16"];
bantime-increment = { enable = true; }; bantime-increment = {enable = true;};
}; };
} }

View file

@ -1,6 +1,5 @@
{ ... }: {...}: {
{ imports = [./traefik.nix ./fail2ban.nix];
imports = [ ./traefik.nix ./fail2ban.nix ];
services.gitea = { services.gitea = {
enable = true; enable = true;
settings = { settings = {
@ -13,10 +12,14 @@
}; };
appName = "Gitea"; appName = "Gitea";
}; };
networking.firewall.allowedTCPPorts = [ 80 443 2222 ]; networking.firewall.allowedTCPPorts = [80 443 2222];
services.traefik.dynamicConfigOptions.http = { services.traefik.dynamicConfigOptions.http = {
routers.gitea = { rule = "Host(`git.xenia.me.uk`)"; service = "gitea-websecure"; tls = { certResolver = "default"; }; }; routers.gitea = {
services.gitea-websecure.loadBalancer.servers = [{ url = "http://localhost:3000"; }]; rule = "Host(`git.xenia.me.uk`)";
service = "gitea-websecure";
tls = {certResolver = "default";};
};
services.gitea-websecure.loadBalancer.servers = [{url = "http://localhost:3000";}];
}; };
services.fail2ban.jails.gitea = '' services.fail2ban.jails.gitea = ''
enabled = true enabled = true

View file

@ -1,6 +1,9 @@
{ pkgs, config, ... }:
{ {
imports = [ ./traefik.nix ./fail2ban.nix ]; pkgs,
config,
...
}: {
imports = [./traefik.nix ./fail2ban.nix];
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud26; package = pkgs.nextcloud26;
@ -10,13 +13,18 @@
adminpassFile = "/secrets/nextcloud_admin.txt"; adminpassFile = "/secrets/nextcloud_admin.txt";
}; };
}; };
services.nginx.virtualHosts.${config.services.nextcloud.hostName}.listen = [{ addr = "localhost"; port = 8000; }]; services.nginx.virtualHosts.${config.services.nextcloud.hostName}.listen = [
{
addr = "localhost";
port = 8000;
}
];
services.traefik.dynamicConfigOptions.http = { services.traefik.dynamicConfigOptions.http = {
routers.nextcloud = { routers.nextcloud = {
rule = "Host(`cloud.xenia.me.uk`)"; rule = "Host(`cloud.xenia.me.uk`)";
service = "nextcloud-webinterface"; service = "nextcloud-webinterface";
tls = { certResolver = "default"; }; tls = {certResolver = "default";};
}; };
services.nextcloud-webinterface.loadBalancer.servers = [{ url = "http://localhost:8000"; }]; services.nextcloud-webinterface.loadBalancer.servers = [{url = "http://localhost:8000";}];
}; };
} }

View file

@ -1,8 +1,7 @@
{ ... }: {...}: {
{
services.openssh = { services.openssh = {
enable = true; enable = true;
ports = [ 2222 ]; ports = [2222];
settings = { settings = {
UseDns = true; UseDns = true;
PermitRootLogin = "no"; PermitRootLogin = "no";

View file

@ -1,30 +1,36 @@
{ ... }: {...}: {
{ imports = [./fail2ban.nix];
imports = [ ./fail2ban.nix ];
services.traefik = { services.traefik = {
enable = true; enable = true;
staticConfigOptions = { staticConfigOptions = {
api = { insecure = true; }; api = {insecure = true;};
entryPoints = { entryPoints = {
http = { address = ":80"; }; http = {address = ":80";};
https = { address = ":443"; }; https = {address = ":443";};
}; };
certificatesResolvers = { certificatesResolvers = {
default = { default = {
acme = { acme = {
email = "evie@xenia.me.uk"; email = "evie@xenia.me.uk";
storage = "/var/lib/traefik/acme.json"; storage = "/var/lib/traefik/acme.json";
httpChallenge = { entryPoint = "http"; }; httpChallenge = {entryPoint = "http";};
}; };
}; };
}; };
}; };
dynamicConfigOptions.http = { dynamicConfigOptions.http = {
routers.traefik = { rule = "Host(`traefik.xenia.me.uk`)"; service = "traefik-webinterface"; tls = { certResolver = "default"; }; }; routers.traefik = {
services.traefik-webinterface.loadBalancer.servers = [{ url = "http://localhost:8080"; }]; rule = "Host(`traefik.xenia.me.uk`)";
service = "traefik-webinterface";
tls = {certResolver = "default";};
};
services.traefik-webinterface.loadBalancer.servers = [{url = "http://localhost:8080";}];
}; };
}; };
networking.firewall = { enable = true; allowedTCPPorts = [ 80 443 8080 ]; }; networking.firewall = {
enable = true;
allowedTCPPorts = [80 443 8080];
};
services.fail2ban.jails.traefik = '' services.fail2ban.jails.traefik = ''
enabled = true enabled = true
filter = traefik-auth filter = traefik-auth

View file

@ -1,6 +1,5 @@
{ ... }: {...}: {
{ imports = [./default.nix ./devices/ion.nix];
imports = [ ./default.nix ./devices/ion.nix ];
services.syncthing = { services.syncthing = {
user = "elitherl"; user = "elitherl";
group = "users"; group = "users";
@ -10,7 +9,7 @@
path = "/home/elitherl/Sync"; path = "/home/elitherl/Sync";
label = "UKAEA"; label = "UKAEA";
id = "fwzht-j7hrc"; id = "fwzht-j7hrc";
devices = [ "ion" ]; devices = ["ion"];
ignorePerms = true; ignorePerms = true;
enable = true; enable = true;
}; };

View file

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
./default.nix ./default.nix
./devices/ion.nix ./devices/ion.nix
@ -14,42 +13,42 @@
folders = { folders = {
"Archive" = { "Archive" = {
path = "/mnt/secondary/syncthing/archive"; path = "/mnt/secondary/syncthing/archive";
devices = [ "ion" "monarch" "northstar" ]; devices = ["ion" "monarch" "northstar"];
enable = true; enable = true;
}; };
"Books" = { "Books" = {
path = "/mnt/secondary/syncthing/books"; path = "/mnt/secondary/syncthing/books";
devices = [ "monarch" "northstar" "remarkable" ]; devices = ["monarch" "northstar" "remarkable"];
enable = true; enable = true;
}; };
"Camera" = { "Camera" = {
path = "/mnt/secondary/syncthing/camera"; path = "/mnt/secondary/syncthing/camera";
devices = [ "ion" ]; devices = ["ion"];
enable = true; enable = true;
}; };
"Documents" = { "Documents" = {
path = "/mnt/secondary/syncthing/documents"; path = "/mnt/secondary/syncthing/documents";
devices = [ "monarch" "northstar" ]; devices = ["monarch" "northstar"];
enable = true; enable = true;
}; };
"Exports" = { "Exports" = {
path = "/mnt/secondary/syncthing/exports"; path = "/mnt/secondary/syncthing/exports";
devices = [ "monarch"]; devices = ["monarch"];
enable = true; enable = true;
}; };
"Movies" = { "Movies" = {
path = "/mnt/secondary/syncthing/movies"; path = "/mnt/secondary/syncthing/movies";
devices = [ "ion" "monarch" "northstar" ]; devices = ["ion" "monarch" "northstar"];
enable = true; enable = true;
}; };
"Pictures" = { "Pictures" = {
path = "/mnt/secondary/syncthing/pictures"; path = "/mnt/secondary/syncthing/pictures";
devices = [ "ion" "monarch" "northstar" ]; devices = ["ion" "monarch" "northstar"];
enable = true; enable = true;
}; };
"Xochitl" = { "Xochitl" = {
path = "/mnt/secondary/syncthing/xochitl"; path = "/mnt/secondary/syncthing/xochitl";
devices = [ "remarkable" ]; devices = ["remarkable"];
enable = true; enable = true;
}; };
}; };

View file

@ -1,6 +1,5 @@
{ lib, ... }: {lib, ...}: {
{ imports = [./folders];
imports = [ ./folders ];
services.syncthing = { services.syncthing = {
enable = true; enable = true;
systemService = true; systemService = true;

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{ services.syncthing.devices."H0615" = {id = "VVKKUT6-DMNEJ6J-ZI2QREG-SOLG7S5-V2V6WN3-UCQH2EN-6S2XXLS-FKN6KQF";};
services.syncthing.devices."H0615" = { id = "VVKKUT6-DMNEJ6J-ZI2QREG-SOLG7S5-V2V6WN3-UCQH2EN-6S2XXLS-FKN6KQF"; };
} }

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{ services.syncthing.devices."ion" = {id = "7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB";};
services.syncthing.devices."ion" = { id = "7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB"; };
} }

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{ services.syncthing.devices."monarch" = {id = "CJSUZQY-67XBLEZ-VKVHQHI-BLEUZNF-G4237AV-AW44CGH-F3JDKXU-CWT3RQZ";};
services.syncthing.devices."monarch" = { id = "CJSUZQY-67XBLEZ-VKVHQHI-BLEUZNF-G4237AV-AW44CGH-F3JDKXU-CWT3RQZ"; };
} }

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{ services.syncthing.devices."northstar" = {id = "DMQZNMB-BM3SSE4-5XV2GHE-IDRNFTS-QNZSICS-6JWHUCV-O3NHMWY-2OBC2QD";};
services.syncthing.devices."northstar" = { id = "DMQZNMB-BM3SSE4-5XV2GHE-IDRNFTS-QNZSICS-6JWHUCV-O3NHMWY-2OBC2QD"; };
} }

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{ services.syncthing.devices."remarkable" = {id = "GHB6JKS-JOA3HHP-TYHB3IJ-GLV26QW-RWRZAMG-XYFGFB6-QLUHDSH-GNPZVAO";};
services.syncthing.devices."remarkable" = { id = "GHB6JKS-JOA3HHP-TYHB3IJ-GLV26QW-RWRZAMG-XYFGFB6-QLUHDSH-GNPZVAO"; };
} }

View file

@ -1,4 +1,3 @@
{ ... }: {...}: {
{ services.syncthing.devices."vanguard" = {id = "YNGBLJP-TWY6Y3C-DPPYAWL-3ZQFNQH-RDPIU5T-L54UI62-FPPA3JQ-WYXBZQZ";};
services.syncthing.devices."vanguard" = { id = "YNGBLJP-TWY6Y3C-DPPYAWL-3ZQFNQH-RDPIU5T-L54UI62-FPPA3JQ-WYXBZQZ"; };
} }

View file

@ -1,5 +1,4 @@
{ lib, ... }: {lib, ...}: {
{
services.syncthing = { services.syncthing = {
folders = { folders = {
"Archive" = { "Archive" = {

View file

@ -1,7 +1,6 @@
{ pkgs, ... }: {pkgs, ...}: {
{
systemd.timers."nixos-pull-config" = { systemd.timers."nixos-pull-config" = {
wantedBy = [ "timers.target" ]; wantedBy = ["timers.target"];
description = "Timer to update /etc/nixos/config/ repository"; description = "Timer to update /etc/nixos/config/ repository";
timerConfig = { timerConfig = {
OnBootSec = "5m"; OnBootSec = "5m";

View file

@ -1,10 +0,0 @@
{ pkgs ? import <nixpkgs> { } }:
let
myAppEnv = pkgs.poetry2nix.mkPoetryEnv {
projectDir = ./.;
editablePackageSources = {
my-app = ./src;
};
};
in
myAppEnv.env

View file

@ -1,6 +1,10 @@
{ pkgs ? import <nixpkgs> { }, python ? pkgs.python39, ... }: {
pkgs ? import <nixpkgs> {},
python ? pkgs.python39,
...
}:
pkgs.mkShell { pkgs.mkShell {
nativeBuildInputs = with pkgs; [ (python.withPackages (ps: with ps; [ pip wheel ])) poetry git ]; nativeBuildInputs = with pkgs; [(python.withPackages (ps: with ps; [pip wheel])) poetry git];
shellHook = '' shellHook = ''
[ -d .venv ] || python -m venv .venv [ -d .venv ] || python -m venv .venv
source .venv/bin/activate source .venv/bin/activate