Rearrange and reorganise so that everything builds again
6
Makefile
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
.PHONY: default build
|
||||||
|
|
||||||
|
default: build
|
||||||
|
|
||||||
|
build:
|
||||||
|
home-manager build --flake . --show-trace
|
40
default.nix
|
@ -1,40 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
imports = [
|
|
||||||
./bat/default.nix
|
|
||||||
./git/default.nix
|
|
||||||
./ssh/default.nix
|
|
||||||
./zsh/default.nix
|
|
||||||
./starship/default.nix
|
|
||||||
./bottom/default.nix
|
|
||||||
./emacs/default.nix
|
|
||||||
./scripts/default.nix
|
|
||||||
];
|
|
||||||
programs = {
|
|
||||||
bash.enable = true;
|
|
||||||
carapace.enable = true;
|
|
||||||
eza = {
|
|
||||||
enable = true;
|
|
||||||
enableAliases = true;
|
|
||||||
git = true;
|
|
||||||
icons = true;
|
|
||||||
extraOptions = ["--octal-permissions"];
|
|
||||||
};
|
|
||||||
readline = {
|
|
||||||
enable = true;
|
|
||||||
includeSystemConfig = true;
|
|
||||||
extraConfig = ''
|
|
||||||
set completion-ignore-case On
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
fzf = {
|
|
||||||
enable = true;
|
|
||||||
defaultCommand = "${pkgs.fd}/bin/fd --type f";
|
|
||||||
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
|
|
||||||
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
86
desktop.nix
|
@ -1,86 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
catppuccinVariant ? "Mocha",
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./default.nix
|
|
||||||
./email/default.nix
|
|
||||||
./password-store/default.nix
|
|
||||||
./wlogout/default.nix
|
|
||||||
./waybar/default.nix
|
|
||||||
./rofi/default.nix
|
|
||||||
./swaylock/default.nix
|
|
||||||
./swaync/default.nix
|
|
||||||
./avizo/default.nix
|
|
||||||
./alacritty/default.nix
|
|
||||||
./emacs/default.nix
|
|
||||||
./nyxt/default.nix
|
|
||||||
./obs/default.nix
|
|
||||||
./cava/default.nix
|
|
||||||
./prog/default.nix
|
|
||||||
];
|
|
||||||
programs.rofi.terminal = "${config.programs.alacritty.package}/bin/alacritty";
|
|
||||||
services = {
|
|
||||||
gpg-agent.pinentryFlavor = "gtk2";
|
|
||||||
avizo.enable = true;
|
|
||||||
syncthing.enable = true;
|
|
||||||
udiskie = {
|
|
||||||
enable = true;
|
|
||||||
notify = true;
|
|
||||||
automount = true;
|
|
||||||
tray = "never";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
gtk = with lib.strings; let
|
|
||||||
accent = "Lavender";
|
|
||||||
size = "Standard";
|
|
||||||
in {
|
|
||||||
enable = true;
|
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.catppuccin-papirus-folders.override {
|
|
||||||
accent = toLower accent;
|
|
||||||
flavor = toLower catppuccinVariant;
|
|
||||||
};
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
};
|
|
||||||
cursorTheme = let
|
|
||||||
variant = "${lib.strings.toLower catppuccinVariant}Dark";
|
|
||||||
in {
|
|
||||||
package = pkgs.catppuccin-cursors.${variant};
|
|
||||||
name = "Catppuccin-${catppuccinVariant}-Dark-Cursors";
|
|
||||||
size = 32;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
package = with lib.strings;
|
|
||||||
pkgs.catppuccin-gtk.override {
|
|
||||||
accents = [(toLower accent)];
|
|
||||||
size = toLower size;
|
|
||||||
variant = toLower catppuccinVariant;
|
|
||||||
};
|
|
||||||
name = "Catppuccin-${catppuccinVariant}-${size}-${accent}-Dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xresources.properties = with config.scheme.withHashtag; {
|
|
||||||
"*background" = base00;
|
|
||||||
"*foreground" = base05;
|
|
||||||
"*color0" = base00;
|
|
||||||
"*color1" = red;
|
|
||||||
"*color2" = green;
|
|
||||||
"*color3" = yellow;
|
|
||||||
"*color4" = blue;
|
|
||||||
"*color5" = magenta;
|
|
||||||
"*color6" = cyan;
|
|
||||||
"*color7" = base04;
|
|
||||||
"*color8" = base01;
|
|
||||||
"*color9" = red;
|
|
||||||
"*color10" = green;
|
|
||||||
"*color11" = yellow;
|
|
||||||
"*color12" = blue;
|
|
||||||
"*color13" = magenta;
|
|
||||||
"*color14" = cyan;
|
|
||||||
"*color15" = base05;
|
|
||||||
};
|
|
||||||
}
|
|
103
flake.nix
|
@ -28,13 +28,19 @@
|
||||||
tt-schemes,
|
tt-schemes,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
pkgs = import nixpkgs {system = "x86_64-linux";};
|
defaultExtraSpecialArgs = {
|
||||||
extraSpecialArgs = {
|
system ? "x86_64-linux",
|
||||||
inherit tt-schemes;
|
hostname ? "Atlas",
|
||||||
|
...
|
||||||
|
}: rec {
|
||||||
|
inherit hostname tt-schemes;
|
||||||
accentColour = "base07"; # catppuccin lavender
|
accentColour = "base07"; # catppuccin lavender
|
||||||
catppuccinVariant = "Mocha";
|
catppuccinVariant = "Mocha";
|
||||||
fonts = with pkgs;
|
iosevkaCustom = {
|
||||||
with iosevka-custom.outputs; rec {
|
packages = iosevka-custom.outputs.packages.${system};
|
||||||
|
names = iosevka-custom.outputs.names;
|
||||||
|
};
|
||||||
|
fonts = with iosevkaCustom; rec {
|
||||||
sizes = {
|
sizes = {
|
||||||
applications = 12;
|
applications = 12;
|
||||||
desktop = 10;
|
desktop = 10;
|
||||||
|
@ -43,28 +49,87 @@
|
||||||
};
|
};
|
||||||
serif = sansSerif;
|
serif = sansSerif;
|
||||||
sansSerif = {
|
sansSerif = {
|
||||||
name = names."iosevka-custom-aile";
|
name = names.iosevka-custom-aile;
|
||||||
package = packages.${system}."iosevka-custom-aile";
|
package = packages.iosevka-custom-aile;
|
||||||
};
|
};
|
||||||
monospace = {
|
monospace = {
|
||||||
name = names."iosevka-custom-nerdfont";
|
name = names.iosevka-custom-nerdfont;
|
||||||
package = packages.${system}."iosevka-custom-nerdfont";
|
package = packages.iosevka-custom-nerdfont;
|
||||||
};
|
|
||||||
emoji = {
|
|
||||||
name = "Noto Color Emoji";
|
|
||||||
package = noto-fonts-emoji;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
defaultModules = {
|
||||||
|
username ? "pixelifytica",
|
||||||
|
hostname ? "Atlas",
|
||||||
|
...
|
||||||
|
}: [
|
||||||
|
base16.homeManagerModule
|
||||||
|
./home/${hostname}.nix
|
||||||
|
({...}: {
|
||||||
|
home = {inherit username;};
|
||||||
|
scheme = "${tt-schemes}/base16/catppuccin-mocha.yaml";
|
||||||
|
})
|
||||||
|
];
|
||||||
in {
|
in {
|
||||||
inherit (home-manager) defaultPackage;
|
inherit (home-manager) defaultPackage;
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
"pixelifytica" = home-manager.lib.homeManagerConfiguration {
|
# Server
|
||||||
inherit pkgs extraSpecialArgs;
|
"pixelifytica@Legion" = home-manager.lib.homeManagerConfiguration {
|
||||||
modules = [
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||||
base16.homeManagerModule
|
modules = defaultModules {
|
||||||
./home.nix
|
username = "pixelifytica";
|
||||||
];
|
hostname = "Legion";
|
||||||
|
};
|
||||||
|
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "Legion";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Personal
|
||||||
|
"pixelifytica@Northstar" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||||
|
modules = defaultModules {
|
||||||
|
username = "pixelifytica";
|
||||||
|
hostname = "Northstar";
|
||||||
|
};
|
||||||
|
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "Northstar";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"pixelifytica@Vanguard" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||||
|
modules = defaultModules {
|
||||||
|
username = "pixelifytica";
|
||||||
|
hostname = "Vanguard";
|
||||||
|
};
|
||||||
|
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "Vanguard";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Work
|
||||||
|
"elitherl@Ronin" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||||
|
modules = defaultModules {
|
||||||
|
username = "elitherl";
|
||||||
|
hostname = "Ronin";
|
||||||
|
};
|
||||||
|
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "Ronin";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"elitherl@Scorch" = home-manager.lib.homeManagerConfiguration {
|
||||||
|
pkgs = import nixpkgs {system = "x86_64-linux";};
|
||||||
|
modules = defaultModules {
|
||||||
|
username = "elitherl";
|
||||||
|
hostname = "Scorch";
|
||||||
|
};
|
||||||
|
extraSpecialArgs = defaultExtraSpecialArgs {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
hostname = "Scorch";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
20
home.nix
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
tt-schemes,
|
|
||||||
catppuccinVariant,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./home/default.nix
|
|
||||||
/etc/nixos/hosts/Northstar/home.nix
|
|
||||||
];
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
scheme = "${tt-schemes}/base16/catppuccin-${lib.strings.toLower catppuccinVariant}.yaml";
|
|
||||||
home = rec {
|
|
||||||
username = "pixelifytica";
|
|
||||||
homeDirectory = "/home/${username}";
|
|
||||||
stateVersion = "23.05";
|
|
||||||
};
|
|
||||||
}
|
|
8
home/Northstar.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{...}: {
|
||||||
|
imports = [./default.nix];
|
||||||
|
wayland.windowManager.sway.config.output = {
|
||||||
|
"eDP-1" = {
|
||||||
|
scale = "1.25";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
47
home/Ronin.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [./default.nix];
|
||||||
|
home.packages = [(pkgs.writeShellScriptBin "ukaea-vpn-connect" "sudo ${pkgs.openfortivpn}/bin/openfortivpn -c ${./ukaea-vpn.conf}")];
|
||||||
|
programs.git.userEmail = config.accounts.email.accounts.outlook.address;
|
||||||
|
accounts.email.accounts = {
|
||||||
|
proton.primary = lib.mkForce false;
|
||||||
|
outlook.primary = lib.mkForce true;
|
||||||
|
};
|
||||||
|
wayland.windowManager.sway.config.output = {
|
||||||
|
"eDP-1".scale = "1.25";
|
||||||
|
"Dell Inc. DELL P3223QE CCG8YN3".scale = "1.5";
|
||||||
|
};
|
||||||
|
xresources.properties."Xft.dpi" = toString (builtins.mul 96 1.5);
|
||||||
|
services.kanshi = {
|
||||||
|
enable = true;
|
||||||
|
systemdTarget = "sway-session.target";
|
||||||
|
profiles = {
|
||||||
|
undocked = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
status = "enable";
|
||||||
|
scale = 1.25;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
docked = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "Dell Inc. DELL P3223QE CCG8YN3";
|
||||||
|
status = "enable";
|
||||||
|
scale = 1.5;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
status = "disable";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
19
home/Scorch.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [./default.nix];
|
||||||
|
programs.git.userEmail = config.accounts.email.accounts.outlook.address;
|
||||||
|
accounts.email.accounts = {
|
||||||
|
proton.primary = lib.mkForce false;
|
||||||
|
outlook.primary = lib.mkForce true;
|
||||||
|
};
|
||||||
|
wayland.windowManager.sway.config.output = {
|
||||||
|
"Dell Inc. DELL P3223QE CCG8YN3" = {
|
||||||
|
pos = "0 0";
|
||||||
|
scale = "1.5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xresources.properties."Xft.dpi" = toString (builtins.mul 96 1.5);
|
||||||
|
}
|
23
home/Vanguard.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
imports = [./default.nix];
|
||||||
|
wayland.windowManager.sway.config = {
|
||||||
|
startup = [
|
||||||
|
{command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-2 --primary";}
|
||||||
|
];
|
||||||
|
output = {
|
||||||
|
"Acer Technologies ED270R TJMEE0043W01" = {
|
||||||
|
mode = "1920x1080@165Hz";
|
||||||
|
pos = "1080 420";
|
||||||
|
adaptive_sync = "off";
|
||||||
|
};
|
||||||
|
"Ancor Communications Inc VS278 FALMQS032358" = {
|
||||||
|
pos = "0 0";
|
||||||
|
transform = "270";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.waybar.settings = {
|
||||||
|
main.output = ["DP-2"];
|
||||||
|
alt.output = ["HDMI-A-1"];
|
||||||
|
};
|
||||||
|
}
|
102
home/default.nix
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Programs
|
||||||
|
../programs/sway/default.nix
|
||||||
|
../programs/shell/default.nix
|
||||||
|
../programs/emacs/default.nix
|
||||||
|
../programs/prog/default.nix
|
||||||
|
../programs/cava/default.nix
|
||||||
|
../programs/obs/default.nix
|
||||||
|
# Services
|
||||||
|
../services/email/work.nix # TODO combine again at some point
|
||||||
|
../services/password-store/default.nix
|
||||||
|
# Additional Scripts
|
||||||
|
../scripts/default.nix
|
||||||
|
];
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
services = {
|
||||||
|
gpg-agent.pinentryFlavor = "gtk2";
|
||||||
|
avizo.enable = true;
|
||||||
|
syncthing.enable = true;
|
||||||
|
udiskie = {
|
||||||
|
enable = true;
|
||||||
|
notify = true;
|
||||||
|
automount = true;
|
||||||
|
tray = "never";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gtk = with lib.strings; let
|
||||||
|
accent = "Lavender";
|
||||||
|
variant = "Mocha";
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
package = pkgs.catppuccin-papirus-folders.override {
|
||||||
|
accent = toLower accent;
|
||||||
|
flavor = toLower variant;
|
||||||
|
};
|
||||||
|
name = "Papirus-Dark";
|
||||||
|
};
|
||||||
|
cursorTheme = {
|
||||||
|
package = pkgs.catppuccin-cursors."${toLower variant}Dark";
|
||||||
|
name = "Catppuccin-${variant}-Dark-Cursors";
|
||||||
|
size = 32;
|
||||||
|
};
|
||||||
|
theme = let
|
||||||
|
size = "Standard";
|
||||||
|
in {
|
||||||
|
package = pkgs.catppuccin-gtk.override {
|
||||||
|
accents = [(toLower accent)];
|
||||||
|
size = toLower size;
|
||||||
|
variant = toLower variant;
|
||||||
|
};
|
||||||
|
name = "Catppuccin-${variant}-${size}-${accent}-Dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg = {
|
||||||
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
extraConfig = {
|
||||||
|
XDG_PROJECTS_DIR = "${config.home.homeDirectory}/Projects";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xresources.properties = with config.scheme.withHashtag; {
|
||||||
|
"*background" = base00;
|
||||||
|
"*foreground" = base05;
|
||||||
|
"*color0" = base00;
|
||||||
|
"*color1" = red;
|
||||||
|
"*color2" = green;
|
||||||
|
"*color3" = yellow;
|
||||||
|
"*color4" = blue;
|
||||||
|
"*color5" = magenta;
|
||||||
|
"*color6" = cyan;
|
||||||
|
"*color7" = base04;
|
||||||
|
"*color8" = base01;
|
||||||
|
"*color9" = red;
|
||||||
|
"*color10" = green;
|
||||||
|
"*color11" = yellow;
|
||||||
|
"*color12" = blue;
|
||||||
|
"*color13" = magenta;
|
||||||
|
"*color14" = cyan;
|
||||||
|
"*color15" = base05;
|
||||||
|
};
|
||||||
|
home = {
|
||||||
|
homeDirectory = "/home/${config.home.username}";
|
||||||
|
packages = with pkgs; [
|
||||||
|
gnumake
|
||||||
|
git-sync
|
||||||
|
pinentry
|
||||||
|
fd
|
||||||
|
ripgrep
|
||||||
|
ffmpeg
|
||||||
|
];
|
||||||
|
stateVersion = "23.05";
|
||||||
|
};
|
||||||
|
}
|
3
home/ukaea-vpn.conf
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
host = vpn.ukaea.uk
|
||||||
|
port = 943
|
||||||
|
username = elitherl
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
catppuccinVariant ? "Mocha",
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
xdg.configFile = let
|
|
||||||
variants = ["Latte" "Frappe" "Macchiato" "Mocha"];
|
|
||||||
mkVariant = variant: let
|
|
||||||
fname = "catppuccin${variant}.tmTheme";
|
|
||||||
in {
|
|
||||||
name = "bat/themes/${fname}";
|
|
||||||
value = {source = ./. + "/${fname}";};
|
|
||||||
};
|
|
||||||
in
|
|
||||||
builtins.listToAttrs
|
|
||||||
(lib.lists.forEach variants mkVariant);
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config.theme = "catppuccin${catppuccinVariant}";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -4,8 +4,6 @@
|
||||||
fonts,
|
fonts,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [../git/default.nix];
|
|
||||||
programs.git.extraConfig.core.editor = "$EDITOR";
|
|
||||||
programs.emacs = {
|
programs.emacs = {
|
||||||
# Clone emacs config from https://git.xenia.me.uk/pixelifytica/emacs.git
|
# Clone emacs config from https://git.xenia.me.uk/pixelifytica/emacs.git
|
||||||
# git clone https://git.xenia.me.uk/pixelifytica/emacs.git ~/.config/emacs
|
# git clone https://git.xenia.me.uk/pixelifytica/emacs.git ~/.config/emacs
|
||||||
|
|
197
programs/shell/default.nix
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [./bottom.nix];
|
||||||
|
xdg.configFile = let
|
||||||
|
variants = ["Latte" "Frappe" "Macchiato" "Mocha"];
|
||||||
|
mkVariant = variant: let
|
||||||
|
fname = "catppuccin${variant}.tmTheme";
|
||||||
|
in {
|
||||||
|
name = "bat/themes/${fname}";
|
||||||
|
value = {source = ./. + "/${fname}";};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
builtins.listToAttrs
|
||||||
|
(lib.lists.forEach variants mkVariant);
|
||||||
|
programs = {
|
||||||
|
bash.enable = true;
|
||||||
|
bat = {
|
||||||
|
enable = true;
|
||||||
|
config.theme = "catppuccinMocha";
|
||||||
|
};
|
||||||
|
carapace.enable = true;
|
||||||
|
eza = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = true;
|
||||||
|
git = true;
|
||||||
|
icons = true;
|
||||||
|
extraOptions = ["--octal-permissions"];
|
||||||
|
};
|
||||||
|
readline = {
|
||||||
|
enable = true;
|
||||||
|
includeSystemConfig = true;
|
||||||
|
extraConfig = ''
|
||||||
|
set completion-ignore-case On
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
defaultCommand = "${pkgs.fd}/bin/fd --type f";
|
||||||
|
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
|
||||||
|
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
|
||||||
|
};
|
||||||
|
ssh = {
|
||||||
|
enable = true;
|
||||||
|
forwardAgent = true;
|
||||||
|
compression = true;
|
||||||
|
serverAliveInterval = 15;
|
||||||
|
serverAliveCountMax = 3;
|
||||||
|
controlMaster = "auto";
|
||||||
|
controlPersist = "10s";
|
||||||
|
extraConfig = ''
|
||||||
|
AddKeysToAgent=yes
|
||||||
|
SetEnv TERM=xterm-256color
|
||||||
|
'';
|
||||||
|
matchBlocks = {
|
||||||
|
"git*".user = "git";
|
||||||
|
"legion" = {
|
||||||
|
user = "pixelifytica";
|
||||||
|
hostname = "192.168.0.31";
|
||||||
|
};
|
||||||
|
"vanguard" = {
|
||||||
|
user = "pixelifytica";
|
||||||
|
hostname = "192.168.0.90";
|
||||||
|
};
|
||||||
|
"ionos" = {
|
||||||
|
user = "root";
|
||||||
|
hostname = "77.68.67.133";
|
||||||
|
};
|
||||||
|
"freia" = {
|
||||||
|
user = "elitherl";
|
||||||
|
hostname = "freia020.hpc.l";
|
||||||
|
forwardX11Trusted = true;
|
||||||
|
};
|
||||||
|
"heimdall" = {
|
||||||
|
user = "elitherl";
|
||||||
|
hostname = "heimdall003.jet.uk";
|
||||||
|
forwardX11Trusted = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
enableTransience = true;
|
||||||
|
settings = {
|
||||||
|
add_newline = false;
|
||||||
|
character = {
|
||||||
|
success_symbol = "[ ](bold green)";
|
||||||
|
error_symbol = "[ ](bold red)";
|
||||||
|
};
|
||||||
|
command_timeout = 2000;
|
||||||
|
container = {symbol = " ";};
|
||||||
|
directory = {
|
||||||
|
truncation_length = 2;
|
||||||
|
fish_style_pwd_dir_length = 1;
|
||||||
|
truncate_to_repo = false;
|
||||||
|
};
|
||||||
|
direnv = {disabled = false;};
|
||||||
|
git_branch = {
|
||||||
|
symbol = " ";
|
||||||
|
only_attached = true;
|
||||||
|
ignore_branches = ["master" "main"];
|
||||||
|
};
|
||||||
|
git_commit = {
|
||||||
|
format = "[ $hash | $tag]($style) ";
|
||||||
|
tag_symbol = " ";
|
||||||
|
tag_disabled = false;
|
||||||
|
};
|
||||||
|
git_metrics = {disabled = false;};
|
||||||
|
git_status = {
|
||||||
|
stashed = " ";
|
||||||
|
ahead = " ";
|
||||||
|
behind = " ";
|
||||||
|
up_to_date = "";
|
||||||
|
diverged = " ";
|
||||||
|
conflicted = " ";
|
||||||
|
deleted = " ";
|
||||||
|
renamed = " ";
|
||||||
|
modified = " ";
|
||||||
|
staged = " ";
|
||||||
|
untracked = " ";
|
||||||
|
typechanged = " ";
|
||||||
|
};
|
||||||
|
hostname = {
|
||||||
|
ssh_only = true;
|
||||||
|
ssh_symbol = " ";
|
||||||
|
};
|
||||||
|
jobs = {symbol = " ";};
|
||||||
|
line_break = {disabled = false;};
|
||||||
|
localip = {disabled = false;};
|
||||||
|
memory_usage = {disabled = false;};
|
||||||
|
os = {
|
||||||
|
disabled = false;
|
||||||
|
format = "on [$symbol]($style) ";
|
||||||
|
};
|
||||||
|
python = {python_binary = "python3";};
|
||||||
|
shell = {
|
||||||
|
disabled = false;
|
||||||
|
format = "using [$indicator ]($style)";
|
||||||
|
};
|
||||||
|
status = {
|
||||||
|
disabled = false;
|
||||||
|
map_symbol = true;
|
||||||
|
pipestatus = true;
|
||||||
|
symbol = " ";
|
||||||
|
success_symbol = "";
|
||||||
|
not_executable_symbol = " ";
|
||||||
|
not_found_symbol = " ";
|
||||||
|
sigint_symbol = " ";
|
||||||
|
signal_symbol = " ";
|
||||||
|
};
|
||||||
|
sudo = {disabled = false;};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
enableVteIntegration = true;
|
||||||
|
autocd = true;
|
||||||
|
historySubstringSearch.enable = true;
|
||||||
|
history = {
|
||||||
|
extended = true;
|
||||||
|
ignoreDups = true;
|
||||||
|
ignoreSpace = true;
|
||||||
|
};
|
||||||
|
shellAliases = {
|
||||||
|
nixos-repl = "nixos-rebuild repl";
|
||||||
|
nixos-test = "sudo nixos-rebuild test";
|
||||||
|
nixos-boot = "sudo nixos-rebuild boot";
|
||||||
|
nixos-switch = "sudo nixos-rebuild switch";
|
||||||
|
nixos-reboot = "sudo nixos-rebuild boot && sudo reboot now";
|
||||||
|
nixos-shutdown = "sudo nixos-rebuild boot && sudo shutdown now";
|
||||||
|
gsa = "git-sync-all";
|
||||||
|
};
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = ["colored-man-pages" "lol" "rand-quote"];
|
||||||
|
theme = "";
|
||||||
|
};
|
||||||
|
completionInit = ''
|
||||||
|
autoload -Uz +X compinit && compinit
|
||||||
|
|
||||||
|
## case insensitive path-completion
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
'';
|
||||||
|
initExtra = "source ${./transient.zsh}\n";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,40 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true;
|
|
||||||
forwardAgent = true;
|
|
||||||
compression = true;
|
|
||||||
serverAliveInterval = 15;
|
|
||||||
serverAliveCountMax = 3;
|
|
||||||
controlMaster = "auto";
|
|
||||||
controlPersist = "10s";
|
|
||||||
extraConfig = ''
|
|
||||||
AddKeysToAgent=yes
|
|
||||||
SetEnv TERM=xterm-256color
|
|
||||||
'';
|
|
||||||
matchBlocks = {
|
|
||||||
"git*".user = "git";
|
|
||||||
"legion" = {
|
|
||||||
user = "pixelifytica";
|
|
||||||
hostname = "192.168.0.31";
|
|
||||||
};
|
|
||||||
"vanguard" = {
|
|
||||||
user = "pixelifytica";
|
|
||||||
hostname = "192.168.0.90";
|
|
||||||
};
|
|
||||||
"ionos" = {
|
|
||||||
user = "root";
|
|
||||||
hostname = "77.68.67.133";
|
|
||||||
};
|
|
||||||
"freia" = {
|
|
||||||
user = "elitherl";
|
|
||||||
hostname = "freia020.hpc.l";
|
|
||||||
forwardX11Trusted = true;
|
|
||||||
};
|
|
||||||
"heimdall" = {
|
|
||||||
user = "elitherl";
|
|
||||||
hostname = "heimdall003.jet.uk";
|
|
||||||
forwardX11Trusted = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,75 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs.starship = {
|
|
||||||
enable = true;
|
|
||||||
enableTransience = true;
|
|
||||||
settings = {
|
|
||||||
add_newline = false;
|
|
||||||
character = {
|
|
||||||
success_symbol = "[ ](bold green)";
|
|
||||||
error_symbol = "[ ](bold red)";
|
|
||||||
};
|
|
||||||
command_timeout = 2000;
|
|
||||||
container = {symbol = " ";};
|
|
||||||
directory = {
|
|
||||||
truncation_length = 2;
|
|
||||||
fish_style_pwd_dir_length = 1;
|
|
||||||
truncate_to_repo = false;
|
|
||||||
};
|
|
||||||
direnv = {disabled = false;};
|
|
||||||
git_branch = {
|
|
||||||
symbol = " ";
|
|
||||||
only_attached = true;
|
|
||||||
ignore_branches = ["master" "main"];
|
|
||||||
};
|
|
||||||
git_commit = {
|
|
||||||
format = "[ $hash | $tag]($style) ";
|
|
||||||
tag_symbol = " ";
|
|
||||||
tag_disabled = false;
|
|
||||||
};
|
|
||||||
git_metrics = {disabled = false;};
|
|
||||||
git_status = {
|
|
||||||
stashed = " ";
|
|
||||||
ahead = " ";
|
|
||||||
behind = " ";
|
|
||||||
up_to_date = "";
|
|
||||||
diverged = " ";
|
|
||||||
conflicted = " ";
|
|
||||||
deleted = " ";
|
|
||||||
renamed = " ";
|
|
||||||
modified = " ";
|
|
||||||
staged = " ";
|
|
||||||
untracked = " ";
|
|
||||||
typechanged = " ";
|
|
||||||
};
|
|
||||||
hostname = {
|
|
||||||
ssh_only = true;
|
|
||||||
ssh_symbol = " ";
|
|
||||||
};
|
|
||||||
jobs = {symbol = " ";};
|
|
||||||
line_break = {disabled = false;};
|
|
||||||
localip = {disabled = false;};
|
|
||||||
memory_usage = {disabled = false;};
|
|
||||||
os = {
|
|
||||||
disabled = false;
|
|
||||||
format = "on [$symbol]($style) ";
|
|
||||||
};
|
|
||||||
python = {python_binary = "python3";};
|
|
||||||
shell = {
|
|
||||||
disabled = false;
|
|
||||||
format = "using [$indicator ]($style)";
|
|
||||||
};
|
|
||||||
status = {
|
|
||||||
disabled = false;
|
|
||||||
map_symbol = true;
|
|
||||||
pipestatus = true;
|
|
||||||
symbol = " ";
|
|
||||||
success_symbol = "";
|
|
||||||
not_executable_symbol = " ";
|
|
||||||
not_found_symbol = " ";
|
|
||||||
sigint_symbol = " ";
|
|
||||||
signal_symbol = " ";
|
|
||||||
};
|
|
||||||
sudo = {disabled = false;};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -6,7 +6,15 @@
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [../desktop.nix];
|
imports = [
|
||||||
|
./alacritty/default.nix
|
||||||
|
./avizo/default.nix
|
||||||
|
./rofi/default.nix
|
||||||
|
./swaylock/default.nix
|
||||||
|
./swaync/default.nix
|
||||||
|
./waybar/default.nix
|
||||||
|
./wlogout/default.nix
|
||||||
|
];
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(writeShellScriptBin "protonmail-setup-bridge" ''
|
(writeShellScriptBin "protonmail-setup-bridge" ''
|
||||||
pkill -9 -f protonmail-bridge
|
pkill -9 -f protonmail-bridge
|
||||||
|
|
|
@ -8,6 +8,11 @@
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
||||||
|
terminal = with config.programs; "${
|
||||||
|
if alacritty.enable
|
||||||
|
then alacritty.package
|
||||||
|
else pkgs.alacritty
|
||||||
|
}/bin/alacritty";
|
||||||
font = fonts.monospace.name;
|
font = fonts.monospace.name;
|
||||||
location = "center";
|
location = "center";
|
||||||
plugins = with pkgs; [rofi-emoji];
|
plugins = with pkgs; [rofi-emoji];
|
|
@ -2,7 +2,7 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
hostName,
|
hostname,
|
||||||
fonts,
|
fonts,
|
||||||
accentColour ? "base07",
|
accentColour ? "base07",
|
||||||
...
|
...
|
||||||
|
@ -245,7 +245,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# TEMP FIX
|
# TEMP FIX
|
||||||
alt = lib.mkIf (hostName == "Vanguard") {
|
alt = lib.mkIf (hostname == "Vanguard") {
|
||||||
inherit (main) layer position "sway/workspaces";
|
inherit (main) layer position "sway/workspaces";
|
||||||
name = "alt";
|
name = "alt";
|
||||||
"modules-left" = [];
|
"modules-left" = [];
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
@ -1,38 +0,0 @@
|
||||||
{...}: {
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
enableAutosuggestions = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
enableVteIntegration = true;
|
|
||||||
autocd = true;
|
|
||||||
historySubstringSearch.enable = true;
|
|
||||||
history = {
|
|
||||||
extended = true;
|
|
||||||
ignoreDups = true;
|
|
||||||
ignoreSpace = true;
|
|
||||||
};
|
|
||||||
shellAliases = {
|
|
||||||
nixos-repl = "nixos-rebuild repl";
|
|
||||||
nixos-test = "sudo nixos-rebuild test";
|
|
||||||
nixos-boot = "sudo nixos-rebuild boot";
|
|
||||||
nixos-switch = "sudo nixos-rebuild switch";
|
|
||||||
nixos-reboot = "sudo nixos-rebuild boot && sudo reboot now";
|
|
||||||
nixos-shutdown = "sudo nixos-rebuild boot && sudo shutdown now";
|
|
||||||
gsa = "git-sync-all";
|
|
||||||
};
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = ["colored-man-pages" "lol" "rand-quote"];
|
|
||||||
theme = "";
|
|
||||||
};
|
|
||||||
completionInit = ''
|
|
||||||
autoload -Uz +X compinit && compinit
|
|
||||||
|
|
||||||
## case insensitive path-completion
|
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
|
||||||
zstyle ':completion:*' menu select
|
|
||||||
'';
|
|
||||||
initExtra = "source ${./transient.zsh}\n";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
hostName,
|
hostname,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
accounts.email = {
|
accounts.email = {
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
address = "e.litherlandsmith@proton.me";
|
address = "e.litherlandsmith@proton.me";
|
||||||
aliases = ["evie@xenia.me.uk" "evie@litherlandsmith.slmail.me"];
|
aliases = ["evie@xenia.me.uk" "evie@litherlandsmith.slmail.me"];
|
||||||
userName = address;
|
userName = address;
|
||||||
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostName}/proton | head -n1";
|
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostname}/proton | head -n1";
|
||||||
mu.enable = true;
|
mu.enable = true;
|
||||||
msmtp = {
|
msmtp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -53,7 +53,7 @@
|
||||||
smtp.host = "smtp.mail.me.com";
|
smtp.host = "smtp.mail.me.com";
|
||||||
address = "e.litherlandsmith@icloud.com";
|
address = "e.litherlandsmith@icloud.com";
|
||||||
userName = address;
|
userName = address;
|
||||||
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostName}/icloud | head -n1";
|
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostname}/icloud | head -n1";
|
||||||
mu.enable = true;
|
mu.enable = true;
|
||||||
msmtp.enable = true;
|
msmtp.enable = true;
|
||||||
mbsync = {
|
mbsync = {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
hostName,
|
hostname,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [./default.nix];
|
imports = [./default.nix];
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
address = "evie.litherland-smith@ukaea.uk";
|
address = "evie.litherland-smith@ukaea.uk";
|
||||||
aliases = ["elitherl@jet.uk"];
|
aliases = ["elitherl@jet.uk"];
|
||||||
userName = address;
|
userName = address;
|
||||||
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostName}/outlook | head -n1";
|
passwordCommand = "${pkgs.pass}/bin/pass show mbsync/${hostname}/outlook | head -n1";
|
||||||
mu.enable = true;
|
mu.enable = true;
|
||||||
msmtp = {
|
msmtp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|