Big reorganise
Move commonModule into system/default.nix Keep most essential parts (user definition, home-manager init) in flake.nix but move rest to system/default.nix Remove some tui expressions from home and add all to home/default.nix, will always want those so always use Disable gamescope session unless gamescope.nix imported Move various home.package definitions to environment.systemPackage in system/ expressions, located based on appropriate use Move wallpapers directory due to restructure, no other changes to it
170
flake.nix
|
@ -73,7 +73,6 @@
|
|||
|
||||
outputs = { self, nixpkgs, home-manager, stylix, anyrun, ... }@inputs:
|
||||
let
|
||||
flakeURL = "git+https://git.xenia.me.uk/xenia/nixos.git?ref=main";
|
||||
catppuccin-themes = with inputs; {
|
||||
alacritty = "${catppuccin-alacritty}/catppuccin-macchiato.yml";
|
||||
bat = "${catppuccin-bat}/Catppuccin-macchiato.tmTheme";
|
||||
|
@ -97,7 +96,19 @@
|
|||
systemModules = [ ./system/hyprland.nix ];
|
||||
serviceModules =
|
||||
[ ./services/sshd/default.nix ./services/syncthing/default.nix ];
|
||||
homeModules = [ ./home/default.nix ];
|
||||
homeModules = [
|
||||
./home/accounts/default.nix
|
||||
./home/emacs/default.nix
|
||||
./home/ferdium/default.nix
|
||||
./home/hyprland/default.nix
|
||||
./home/alacritty.nix
|
||||
./home/default.nix
|
||||
./home/firefox.nix
|
||||
./home/kdeconnect.nix
|
||||
./home/media.nix
|
||||
./home/pass.nix
|
||||
./home/zathura.nix
|
||||
];
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
systemConfig = { hostName ? default.hostName, user ? default.user
|
||||
|
@ -107,138 +118,25 @@
|
|||
, homeModules ? default.homeModules, stateVersion ? default.stateVersion
|
||||
}:
|
||||
let
|
||||
specialArgs = { inherit hostName user group anyrun; };
|
||||
specialArgs = {
|
||||
inherit hostName user anyrun;
|
||||
inherit (inputs) catppuccin-base16;
|
||||
};
|
||||
extraSpecialArgs = specialArgs // {
|
||||
inherit catppuccin-themes;
|
||||
inherit (inputs) doom-emacs gitui;
|
||||
};
|
||||
commonModule = { lib, pkgs, ... }: {
|
||||
stylix = {
|
||||
autoEnable = false;
|
||||
image = ./wallpapers/waves/cat-waves.png;
|
||||
base16Scheme =
|
||||
"${inputs.catppuccin-base16}/base16/macchiato.yaml";
|
||||
fonts = {
|
||||
emoji = {
|
||||
name = "Noto Color Emoji";
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
};
|
||||
monospace = {
|
||||
name = "Fira Mono";
|
||||
package = pkgs.fira-mono;
|
||||
};
|
||||
sansSerif = {
|
||||
name = "Fira Sans";
|
||||
package = pkgs.fira;
|
||||
};
|
||||
serif = {
|
||||
name = "Fira Sans";
|
||||
package = pkgs.fira;
|
||||
};
|
||||
};
|
||||
homeManagerIntegration.followSystem = true;
|
||||
targets = {
|
||||
chromium.enable = true;
|
||||
console.enable = true;
|
||||
grub = {
|
||||
enable = true;
|
||||
useImage = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
fira
|
||||
fira-mono
|
||||
fira-code
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
dejavu_fonts
|
||||
noto-fonts-emoji
|
||||
font-awesome
|
||||
material-symbols
|
||||
emacs-all-the-icons-fonts
|
||||
material-design-icons
|
||||
weather-icons
|
||||
vscode-extensions.file-icons.file-icons
|
||||
];
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
serif = [ "Fira Sans" "DejaVu Sans" ];
|
||||
sansSerif = [ "Fira Sans" "DejaVu Sans" ];
|
||||
monospace = [ "Fira Mono" "DejaVu Sans Mono" ];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
extraOptions = ''
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
min-free = ${toString (100 * 1024 * 1024)}
|
||||
max-free = ${toString (1024 * 1024 * 1024)}
|
||||
'';
|
||||
};
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"steam"
|
||||
"steam-original"
|
||||
"steam-run"
|
||||
"discord"
|
||||
"nomachine-client"
|
||||
];
|
||||
networking = {
|
||||
inherit hostName;
|
||||
networkmanager.enable = true;
|
||||
nameservers = [ "9.9.9.9" ];
|
||||
};
|
||||
environment = {
|
||||
systemPackages = with pkgs; [ libsecret git neofetch nitch ];
|
||||
localBinInPath = true;
|
||||
shellAliases.rebuild = ''
|
||||
sudo nixos-rebuild switch --flake "${flakeURL}" --refresh \
|
||||
&& hyprctl reload \
|
||||
&& doom sync -p
|
||||
'';
|
||||
};
|
||||
services.power-profiles-daemon.enable = true;
|
||||
virtualisation.podman.enable = true;
|
||||
time.timeZone = "Europe/London";
|
||||
i18n = let locale = "en_GB.UTF-8";
|
||||
in {
|
||||
# Select internationalisation properties.
|
||||
defaultLocale = locale;
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = locale;
|
||||
LC_IDENTIFICATION = locale;
|
||||
LC_MEASUREMENT = locale;
|
||||
LC_MONETARY = locale;
|
||||
LC_NAME = locale;
|
||||
LC_NUMERIC = locale;
|
||||
LC_PAPER = locale;
|
||||
LC_TELEPHONE = locale;
|
||||
LC_TIME = locale;
|
||||
};
|
||||
};
|
||||
in nixpkgs.lib.nixosSystem {
|
||||
inherit system specialArgs;
|
||||
modules = [
|
||||
./hosts/${hostName}/configuration.nix
|
||||
./hosts/${hostName}/hardware-configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
stylix.nixosModules.stylix
|
||||
({ pkgs, ... }: {
|
||||
programs.${shell}.enable = true;
|
||||
system = {
|
||||
inherit stateVersion;
|
||||
autoUpgrade = {
|
||||
enable = true;
|
||||
dates = "02:00";
|
||||
allowReboot = false;
|
||||
flake = flakeURL;
|
||||
};
|
||||
};
|
||||
system = { inherit stateVersion; };
|
||||
networking = { inherit hostName; };
|
||||
users.users.${user} = {
|
||||
inherit group;
|
||||
isNormalUser = true;
|
||||
|
@ -277,15 +175,7 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in nixpkgs.lib.nixosSystem {
|
||||
inherit system specialArgs;
|
||||
modules = [
|
||||
./hosts/${hostName}/configuration.nix
|
||||
./hosts/${hostName}/hardware-configuration.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
stylix.nixosModules.stylix
|
||||
commonModule
|
||||
})
|
||||
] ++ systemModules ++ serviceModules;
|
||||
};
|
||||
in {
|
||||
|
@ -297,7 +187,7 @@
|
|||
system = "x86_64-linux";
|
||||
in systemConfig {
|
||||
inherit hostName user system;
|
||||
systemModules = [ ];
|
||||
systemModules = [ ./system/default.nix ];
|
||||
serviceModules = [
|
||||
# ./services/adguardhome/default.nix
|
||||
./services/gitea/default.nix
|
||||
|
@ -310,7 +200,7 @@
|
|||
./services/traefik/nextcloud.nix
|
||||
# ./services/traefik/qbittorrent.nix
|
||||
];
|
||||
homeModules = [ ./home/git.nix ./home/ssh.nix ];
|
||||
homeModules = [ ./home/default.nix ];
|
||||
};
|
||||
|
||||
Northstar = let
|
||||
|
|
221
home/default.nix
|
@ -1,26 +1,9 @@
|
|||
{ config, pkgs, catppuccin-themes, ... }:
|
||||
{ config, lib, pkgs, catppuccin-themes, gitui, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./alacritty.nix
|
||||
./firefox.nix
|
||||
./fzf.nix
|
||||
./git.nix
|
||||
./media.nix
|
||||
./pass.nix
|
||||
./ssh.nix
|
||||
./starship.nix
|
||||
./tmux.nix
|
||||
./zathura.nix
|
||||
./hyprland/default.nix
|
||||
./emacs/default.nix
|
||||
./accounts/default.nix
|
||||
./ferdium/default.nix
|
||||
];
|
||||
home.packages = with pkgs; [ dig silver-searcher gnumake ];
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
stylix.targets = {
|
||||
fzf.enable = true;
|
||||
tmux.enable = true;
|
||||
};
|
||||
programs = {
|
||||
bash.enable = true;
|
||||
|
@ -37,6 +20,202 @@
|
|||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
fzf = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitFull;
|
||||
userName = "Evie Litherland-Smith";
|
||||
userEmail = lib.mkDefault "evie@xenia.me.uk";
|
||||
delta = {
|
||||
enable = true;
|
||||
options = {
|
||||
blame-code-style = "syntax";
|
||||
line-numbers = true;
|
||||
navigate = true;
|
||||
side-by-side = true;
|
||||
syntax-theme = "Catppuccin";
|
||||
zero-style = "dim syntax";
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
pull.rebase = false;
|
||||
init.defaultBranch = "main";
|
||||
credential.helper = "${pkgs.gitFull}/bin/git-credential-libsecret";
|
||||
};
|
||||
};
|
||||
gitui = {
|
||||
enable = true;
|
||||
keyConfig = builtins.readFile "${gitui}/vim_style_key_config.ron";
|
||||
theme = builtins.readFile catppuccin-themes.gitui;
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
config.theme = "Catppuccin";
|
||||
themes.Catppuccin = builtins.readFile catppuccin-themes.bat;
|
||||
};
|
||||
ssh = {
|
||||
enable = true;
|
||||
forwardAgent = true;
|
||||
serverAliveInterval = 15;
|
||||
serverAliveCountMax = 3;
|
||||
controlMaster = "auto";
|
||||
controlPersist = "10s";
|
||||
extraConfig = ''
|
||||
AddKeysToAgent=yes
|
||||
SetEnv TERM=xterm-256color
|
||||
'';
|
||||
matchBlocks = {
|
||||
"vanguard" = {
|
||||
user = "xenia";
|
||||
hostname = "192.168.1.166";
|
||||
};
|
||||
"legion" = {
|
||||
user = "xenia";
|
||||
hostname = "192.168.1.230";
|
||||
};
|
||||
"ionos" = {
|
||||
user = "root";
|
||||
hostname = "77.68.67.133";
|
||||
};
|
||||
"freia".hostname = "freia020.hpc.l";
|
||||
"freia???" =
|
||||
lib.hm.dag.entryAfter [ "freia" ] { hostname = "%h.hpc.l"; };
|
||||
"heimdall".hostname = "heimdall003.jet.uk";
|
||||
"heimdall???" =
|
||||
lib.hm.dag.entryAfter [ "heimdall" ] { hostname = "%h.jet.uk"; };
|
||||
"freia* heimdall*" = lib.hm.dag.entryAfter [
|
||||
"freia"
|
||||
"freia???"
|
||||
"heimdall"
|
||||
"heimdall???"
|
||||
] {
|
||||
user = "elitherl";
|
||||
compression = true;
|
||||
};
|
||||
"git*".user = "git";
|
||||
};
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
inherit (builtins.fromTOML
|
||||
(builtins.readFile catppuccin-themes.starship))
|
||||
palettes;
|
||||
command_timeout = 1000;
|
||||
add_newline = true;
|
||||
palette = "catppuccin_macchiato";
|
||||
character = {
|
||||
success_symbol = "[[](green) ❯](maroon)";
|
||||
error_symbol = "[❯](red)";
|
||||
};
|
||||
directory = {
|
||||
truncation_length = 2;
|
||||
fish_style_pwd_dir_length = 1;
|
||||
read_only = " ";
|
||||
style = "bold lavender";
|
||||
truncate_to_repo = false;
|
||||
before_repo_root_style = "bold lavender";
|
||||
repo_root_style = "bold teal";
|
||||
};
|
||||
line_break.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;
|
||||
hostname = {
|
||||
ssh_only = true;
|
||||
ssh_symbol = " ";
|
||||
style = "bold green";
|
||||
};
|
||||
localip.disabled = false;
|
||||
memory_usage = {
|
||||
disabled = false;
|
||||
symbol = " ";
|
||||
};
|
||||
nix_shell.symbol = " ";
|
||||
os = {
|
||||
disabled = false;
|
||||
format = "on [$symbol $name ]($style)";
|
||||
style = "bold blue";
|
||||
symbols = {
|
||||
Alpine = " ";
|
||||
Android = " ";
|
||||
Arch = " ";
|
||||
CentOS = " ";
|
||||
Debian = " ";
|
||||
EndeavourOS = " ";
|
||||
Fedora = " ";
|
||||
FreeBSD = " ";
|
||||
Gentoo = " ";
|
||||
Illumos = " ";
|
||||
Linux = " ";
|
||||
Macos = " ";
|
||||
Manjaro = " ";
|
||||
Mint = " ";
|
||||
NixOS = " ";
|
||||
OpenBSD = " ";
|
||||
openSUSE = " ";
|
||||
Pop = " ";
|
||||
Raspbian = " ";
|
||||
Redhat = " ";
|
||||
RedHatEnterprise = " ";
|
||||
Solus = " ";
|
||||
SUSE = " ";
|
||||
Ubuntu = " ";
|
||||
Unknown = " ";
|
||||
Windows = " ";
|
||||
};
|
||||
};
|
||||
python = {
|
||||
symbol = " ";
|
||||
python_binary = "python3";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
format = "using [$indicator ]($style)";
|
||||
};
|
||||
sudo = {
|
||||
disabled = false;
|
||||
symbol = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
tmux = {
|
||||
enable = true;
|
||||
baseIndex = 1;
|
||||
clock24 = true;
|
||||
keyMode = "emacs";
|
||||
mouse = true;
|
||||
secureSocket = true;
|
||||
sensibleOnTop = true;
|
||||
shortcut = "Space";
|
||||
terminal = "xterm-256color";
|
||||
plugins = with pkgs.tmuxPlugins; [ yank tmux-fzf catppuccin ];
|
||||
extraConfig = ''
|
||||
# https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/
|
||||
set -ga terminal-overrides ",*256col*,alacritty:Tc"
|
||||
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
||||
set-environment -g COLORTERM "truecolor"
|
||||
|
||||
# easy-to-remember split pane commands
|
||||
bind | split-window -h -c "#{pane_current_path}"
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind c new-window -c "#{pane_current_path}"
|
||||
'';
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
|
|
11
home/fzf.nix
|
@ -1,11 +0,0 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
stylix.targets.fzf.enable = true;
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
}
|
36
home/git.nix
|
@ -1,36 +0,0 @@
|
|||
{ lib, pkgs, catppuccin-themes, gitui, ... }: {
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitFull;
|
||||
userName = "Evie Litherland-Smith";
|
||||
userEmail = lib.mkDefault "evie@xenia.me.uk";
|
||||
delta = {
|
||||
enable = true;
|
||||
options = {
|
||||
blame-code-style = "syntax";
|
||||
line-numbers = true;
|
||||
navigate = true;
|
||||
side-by-side = true;
|
||||
syntax-theme = "Catppuccin";
|
||||
zero-style = "dim syntax";
|
||||
};
|
||||
};
|
||||
extraConfig = {
|
||||
pull.rebase = false;
|
||||
init.defaultBranch = "main";
|
||||
credential.helper = "${pkgs.gitFull}/bin/git-credential-libsecret";
|
||||
};
|
||||
};
|
||||
gitui = {
|
||||
enable = true;
|
||||
keyConfig = builtins.readFile "${gitui}/vim_style_key_config.ron";
|
||||
theme = builtins.readFile catppuccin-themes.gitui;
|
||||
};
|
||||
bat = {
|
||||
enable = true;
|
||||
config.theme = "Catppuccin";
|
||||
themes.Catppuccin = builtins.readFile catppuccin-themes.bat;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -9,13 +9,6 @@
|
|||
./anyrun.nix
|
||||
./gtk.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
signal-desktop
|
||||
remmina
|
||||
libreoffice
|
||||
zotero
|
||||
minesweep-rs
|
||||
];
|
||||
programs.rofi = {
|
||||
package = pkgs.rofi-wayland;
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
|
|
8
home/kdeconnect.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
};
|
||||
}
|
49
home/ssh.nix
|
@ -1,49 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [ sshfs ];
|
||||
programs = {
|
||||
ssh = {
|
||||
enable = true;
|
||||
forwardAgent = true;
|
||||
serverAliveInterval = 15;
|
||||
serverAliveCountMax = 3;
|
||||
controlMaster = "auto";
|
||||
controlPersist = "10s";
|
||||
extraConfig = ''
|
||||
AddKeysToAgent=yes
|
||||
SetEnv TERM=xterm-256color
|
||||
'';
|
||||
matchBlocks = {
|
||||
"vanguard" = {
|
||||
user = "xenia";
|
||||
hostname = "192.168.1.166";
|
||||
};
|
||||
"legion" = {
|
||||
user = "xenia";
|
||||
hostname = "192.168.1.230";
|
||||
};
|
||||
"ionos" = {
|
||||
user = "root";
|
||||
hostname = "77.68.67.133";
|
||||
};
|
||||
"freia".hostname = "freia020.hpc.l";
|
||||
"freia???" =
|
||||
lib.hm.dag.entryAfter [ "freia" ] { hostname = "%h.hpc.l"; };
|
||||
"heimdall".hostname = "heimdall003.jet.uk";
|
||||
"heimdall???" =
|
||||
lib.hm.dag.entryAfter [ "heimdall" ] { hostname = "%h.jet.uk"; };
|
||||
"freia* heimdall*" = lib.hm.dag.entryAfter [
|
||||
"freia"
|
||||
"freia???"
|
||||
"heimdall"
|
||||
"heimdall???"
|
||||
] {
|
||||
user = "elitherl";
|
||||
compression = true;
|
||||
};
|
||||
"git*".user = "git";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,97 +0,0 @@
|
|||
{ catppuccin-themes, ... }:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
inherit (builtins.fromTOML (builtins.readFile catppuccin-themes.starship))
|
||||
palettes;
|
||||
command_timeout = 1000;
|
||||
add_newline = true;
|
||||
palette = "catppuccin_macchiato";
|
||||
character = {
|
||||
success_symbol = "[[](green) ❯](maroon)";
|
||||
error_symbol = "[❯](red)";
|
||||
};
|
||||
directory = {
|
||||
truncation_length = 2;
|
||||
fish_style_pwd_dir_length = 1;
|
||||
read_only = " ";
|
||||
style = "bold lavender";
|
||||
truncate_to_repo = false;
|
||||
before_repo_root_style = "bold lavender";
|
||||
repo_root_style = "bold teal";
|
||||
};
|
||||
line_break.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;
|
||||
hostname = {
|
||||
ssh_only = true;
|
||||
ssh_symbol = " ";
|
||||
style = "bold green";
|
||||
};
|
||||
localip.disabled = false;
|
||||
memory_usage = {
|
||||
disabled = false;
|
||||
symbol = " ";
|
||||
};
|
||||
nix_shell.symbol = " ";
|
||||
os = {
|
||||
disabled = false;
|
||||
format = "on [$symbol $name ]($style)";
|
||||
style = "bold blue";
|
||||
symbols = {
|
||||
Alpine = " ";
|
||||
Android = " ";
|
||||
Arch = " ";
|
||||
CentOS = " ";
|
||||
Debian = " ";
|
||||
EndeavourOS = " ";
|
||||
Fedora = " ";
|
||||
FreeBSD = " ";
|
||||
Gentoo = " ";
|
||||
Illumos = " ";
|
||||
Linux = " ";
|
||||
Macos = " ";
|
||||
Manjaro = " ";
|
||||
Mint = " ";
|
||||
NixOS = " ";
|
||||
OpenBSD = " ";
|
||||
openSUSE = " ";
|
||||
Pop = " ";
|
||||
Raspbian = " ";
|
||||
Redhat = " ";
|
||||
RedHatEnterprise = " ";
|
||||
Solus = " ";
|
||||
SUSE = " ";
|
||||
Ubuntu = " ";
|
||||
Unknown = " ";
|
||||
Windows = " ";
|
||||
};
|
||||
};
|
||||
python = {
|
||||
symbol = " ";
|
||||
python_binary = "python3";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
format = "using [$indicator ]($style)";
|
||||
};
|
||||
sudo = {
|
||||
disabled = false;
|
||||
symbol = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
stylix.targets.tmux.enable = true;
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
baseIndex = 1;
|
||||
clock24 = true;
|
||||
keyMode = "vi";
|
||||
mouse = true;
|
||||
secureSocket = true;
|
||||
sensibleOnTop = true;
|
||||
shortcut = "Space";
|
||||
terminal = "xterm-256color";
|
||||
plugins = with pkgs.tmuxPlugins; [ yank tmux-fzf catppuccin ];
|
||||
extraConfig = ''
|
||||
# https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/
|
||||
set -ga terminal-overrides ",*256col*,alacritty:Tc"
|
||||
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
||||
set-environment -g COLORTERM "truecolor"
|
||||
|
||||
# easy-to-remember split pane commands
|
||||
bind | split-window -h -c "#{pane_current_path}"
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
bind c new-window -c "#{pane_current_path}"
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
{ lib, ... }: {
|
||||
{ config, lib, pkgs, ... }: {
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
@ -15,9 +15,12 @@
|
|||
boot.initrd.luks.devices."luks-761eeb11-3091-4142-9232-4fb33165eccd".keyFile =
|
||||
"/crypto_keyfile.bin";
|
||||
|
||||
environment.etc."ppp/options".text = ''
|
||||
environment = {
|
||||
etc."ppp/options".text = ''
|
||||
ipcp-accept-remote
|
||||
'';
|
||||
systemPackages = with pkgs; [ openfortivpn ];
|
||||
};
|
||||
services.syncthing.settings.folders = {
|
||||
"Archive".enable = false;
|
||||
"Books".enable = false;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [ openfortivpn nomachine-client ];
|
||||
programs = {
|
||||
git.userEmail = "evie.litherland-smith@ukaea.uk";
|
||||
firefox.profiles.default.settings."browser.startup.homepage" =
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [ nomachine-client ];
|
||||
programs = {
|
||||
git.userEmail = "evie.litherland-smith@ukaea.uk";
|
||||
firefox.profiles.default.settings."browser.startup.homepage" =
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = with pkgs; [ nomachine-client ];
|
||||
xdg.configFile."hypr/extra.conf".text = ''
|
||||
monitor=DP-1,highrr,0x0,1.00
|
||||
monitor=HDMI-A-1,highres,1920x325,1.00
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
{ lib, user, group, ... }:
|
||||
{ config, lib, pkgs, user, ... }:
|
||||
let
|
||||
devices = [ "Legion" "Northstar" "Ronin" "Scorch" "Vanguard" ];
|
||||
devicesWithPhone = devices ++ [ "Ion" ];
|
||||
in {
|
||||
services.syncthing = {
|
||||
inherit user group;
|
||||
inherit user;
|
||||
inherit (config.users.users.${user}) group;
|
||||
enable = true;
|
||||
dataDir = lib.mkDefault "/home/${user}";
|
||||
systemService = true;
|
||||
|
|
76
system/default.nix
Normal file
|
@ -0,0 +1,76 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let flakeURL = "git+https://git.xenia.me.uk/xenia/nixos.git?ref=main";
|
||||
in {
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
};
|
||||
extraOptions = ''
|
||||
keep-outputs = true
|
||||
keep-derivations = true
|
||||
min-free = ${toString (100 * 1024 * 1024)}
|
||||
max-free = ${toString (1024 * 1024 * 1024)}
|
||||
'';
|
||||
};
|
||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||
builtins.elem (lib.getName pkg) [
|
||||
"steam"
|
||||
"steam-original"
|
||||
"steam-run"
|
||||
"nomachine-client"
|
||||
];
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
nameservers = [ "9.9.9.9" ];
|
||||
};
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
libsecret
|
||||
git
|
||||
neofetch
|
||||
nitch
|
||||
dig
|
||||
silver-searcher
|
||||
gnumake
|
||||
];
|
||||
localBinInPath = true;
|
||||
shellAliases.rebuild = ''
|
||||
sudo nixos-rebuild switch --flake "${flakeURL}" --refresh \
|
||||
&& hyprctl reload \
|
||||
&& doom sync -p
|
||||
'';
|
||||
};
|
||||
console.keyMap = "uk";
|
||||
programs.ssh.startAgent = true;
|
||||
services.power-profiles-daemon.enable = true;
|
||||
virtualisation.podman.enable = true;
|
||||
time.timeZone = "Europe/London";
|
||||
i18n = let locale = "en_GB.UTF-8";
|
||||
in {
|
||||
# Select internationalisation properties.
|
||||
defaultLocale = locale;
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = locale;
|
||||
LC_IDENTIFICATION = locale;
|
||||
LC_MEASUREMENT = locale;
|
||||
LC_MONETARY = locale;
|
||||
LC_NAME = locale;
|
||||
LC_NUMERIC = locale;
|
||||
LC_PAPER = locale;
|
||||
LC_TELEPHONE = locale;
|
||||
LC_TIME = locale;
|
||||
};
|
||||
};
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
dates = "02:00";
|
||||
allowReboot = false;
|
||||
flake = flakeURL;
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, catppuccin-base16, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./firefox.nix ];
|
||||
imports = [ ./default.nix ./firefox.nix ];
|
||||
environment.systemPackages = with pkgs;
|
||||
with libsForQt5.qt5; [
|
||||
dex
|
||||
|
@ -16,7 +16,70 @@
|
|||
protonvpn-cli
|
||||
protonvpn-gui
|
||||
qbittorrent
|
||||
signal-desktop
|
||||
remmina
|
||||
libreoffice
|
||||
zotero
|
||||
minesweep-rs
|
||||
nomachine-client
|
||||
];
|
||||
stylix = {
|
||||
autoEnable = false;
|
||||
image = ./wallpapers/waves/cat-waves.png;
|
||||
base16Scheme = "${catppuccin-base16}/base16/macchiato.yaml";
|
||||
fonts = {
|
||||
emoji = {
|
||||
name = "Noto Color Emoji";
|
||||
package = pkgs.noto-fonts-emoji;
|
||||
};
|
||||
monospace = {
|
||||
name = "Fira Mono";
|
||||
package = pkgs.fira-mono;
|
||||
};
|
||||
sansSerif = {
|
||||
name = "Fira Sans";
|
||||
package = pkgs.fira;
|
||||
};
|
||||
serif = {
|
||||
name = "Fira Sans";
|
||||
package = pkgs.fira;
|
||||
};
|
||||
};
|
||||
homeManagerIntegration.followSystem = true;
|
||||
targets = {
|
||||
chromium.enable = true;
|
||||
console.enable = true;
|
||||
grub = {
|
||||
enable = true;
|
||||
useImage = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
fira
|
||||
fira-mono
|
||||
fira-code
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
dejavu_fonts
|
||||
noto-fonts-emoji
|
||||
font-awesome
|
||||
material-symbols
|
||||
emacs-all-the-icons-fonts
|
||||
material-design-icons
|
||||
weather-icons
|
||||
vscode-extensions.file-icons.file-icons
|
||||
];
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
serif = [ "Fira Sans" "DejaVu Sans" ];
|
||||
sansSerif = [ "Fira Sans" "DejaVu Sans" ];
|
||||
monospace = [ "Fira Mono" "DejaVu Sans Mono" ];
|
||||
emoji = [ "Noto Color Emoji" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
pam.services.gtklock.enableGnomeKeyring = true;
|
||||
|
@ -46,9 +109,7 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
console.keyMap = "uk";
|
||||
programs = {
|
||||
ssh.startAgent = true;
|
||||
seahorse.enable = true;
|
||||
dconf.enable = true;
|
||||
light.enable = true;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
{
|
||||
imports = [ ./desktop.nix ./steam.nix ];
|
||||
programs.steam.gamescopeSession.enable = true;
|
||||
services.greetd.settings = rec {
|
||||
default_session.command = ''
|
||||
gamescope\
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [ prismlauncher discord ];
|
||||
environment.systemPackages = with pkgs; [ prismlauncher ];
|
||||
hardware = {
|
||||
opengl.driSupport32Bit = true;
|
||||
steam-hardware.enable = true;
|
||||
|
@ -15,7 +15,7 @@
|
|||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
gamescopeSession.enable = true;
|
||||
gamescopeSession.enable = lib.mkDefault false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 562 KiB After Width: | Height: | Size: 562 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 133 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 125 KiB After Width: | Height: | Size: 125 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 747 KiB After Width: | Height: | Size: 747 KiB |
Before Width: | Height: | Size: 7 MiB After Width: | Height: | Size: 7 MiB |
Before Width: | Height: | Size: 5.3 MiB After Width: | Height: | Size: 5.3 MiB |
Before Width: | Height: | Size: 7.8 MiB After Width: | Height: | Size: 7.8 MiB |
Before Width: | Height: | Size: 3.6 MiB After Width: | Height: | Size: 3.6 MiB |
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 3.7 MiB After Width: | Height: | Size: 3.7 MiB |
Before Width: | Height: | Size: 1,000 KiB After Width: | Height: | Size: 1,000 KiB |
Before Width: | Height: | Size: 3.9 MiB After Width: | Height: | Size: 3.9 MiB |
Before Width: | Height: | Size: 4.8 MiB After Width: | Height: | Size: 4.8 MiB |
Before Width: | Height: | Size: 4 MiB After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 4.3 MiB After Width: | Height: | Size: 4.3 MiB |
Before Width: | Height: | Size: 4 MiB After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 5.1 MiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 250 KiB |
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 255 KiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 249 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 247 KiB |
Before Width: | Height: | Size: 255 KiB After Width: | Height: | Size: 255 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |