Move a bunch of default.nix up a level

Loads of expressions were a single default.nix in a directory, instead
just make a single directory
Hyprland is the only directory of expressions left
Move a few things around to fit this a bit better
Add home/default.nix to defer "import all" from flake.nix

Remove work email from default account set up, add to work laptop
specifically and only

Clean up a few unused expressions
This commit is contained in:
Evie Litherland-Smith 2023-09-15 07:13:52 +01:00
parent da9080b423
commit 9394a99a4c
39 changed files with 294 additions and 885 deletions

View file

@ -80,6 +80,22 @@
"type": "github"
}
},
"catppuccin-starship": {
"flake": false,
"locked": {
"lastModified": 1689246850,
"narHash": "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=",
"owner": "catppuccin",
"repo": "starship",
"rev": "5629d2356f62a9f2f8efad3ff37476c19969bd4f",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "starship",
"type": "github"
}
},
"catppuccin-zathura": {
"flake": false,
"locked": {
@ -220,6 +236,7 @@
"catppuccin-fish": "catppuccin-fish",
"catppuccin-gitui": "catppuccin-gitui",
"catppuccin-hyprland": "catppuccin-hyprland",
"catppuccin-starship": "catppuccin-starship",
"catppuccin-zathura": "catppuccin-zathura",
"catppuccin-zsh": "catppuccin-zsh",
"doom-emacs": "doom-emacs",

View file

@ -41,6 +41,10 @@
url = "github:catppuccin/hyprland";
flake = false;
};
catppuccin-starship = {
url = "github:catppuccin/starship";
flake = false;
};
catppuccin-zathura = {
url = "github:catppuccin/zathura";
flake = false;
@ -61,6 +65,7 @@
fish = "${catppuccin-fish}/themes/Catppuccin Macchiato.theme";
gitui = "${catppuccin-gitui}/theme/macchiato.ron";
hyprland = "${catppuccin-hyprland}/themes/macchiato.conf";
starship = "${catppuccin-starship}/palettes/macchiato.toml";
zathura = "${catppuccin-zathura}/src/catppuccin-macchiato";
zsh =
"${catppuccin-zsh}/themes/catppuccin_macchiato-zsh-syntax-highlighting.zsh";
@ -74,20 +79,7 @@
systemModules = [ ./system/hyprland.nix ];
serviceModules =
[ ./services/sshd/default.nix ./services/syncthing/default.nix ];
homeModules = [
./home/accounts/default.nix
./home/alacritty/default.nix
./home/emacs/default.nix
./home/firefox/default.nix
./home/git/default.nix
./home/hyprland/default.nix
./home/media/default.nix
./home/pass/service.nix
./home/ssh/default.nix
./home/tmux/default.nix
./home/tui/default.nix
./home/zathura/default.nix
];
homeModules = [ ./home/default.nix ];
stateVersion = "23.05";
};
systemConfig = { hostName ? default.hostName, user ? default.user
@ -109,7 +101,7 @@
];
};
specialArgs = {
inherit hostName user group shell;
inherit hostName user group;
inherit (inputs) hyprland;
};
extraSpecialArgs = specialArgs // {
@ -192,9 +184,7 @@
username = user;
homeDirectory = "/home/${user}";
in {
imports =
[ ./home/shell/${shell}.nix ./hosts/${hostName}/home.nix ]
++ homeModules;
imports = [ ./hosts/${hostName}/home.nix ] ++ homeModules;
home = { inherit username homeDirectory stateVersion; };
programs.home-manager.enable = true;
xdg.userDirs = {

View file

@ -55,39 +55,6 @@
msmtp.enable = true;
mu.enable = true;
};
ukaea = let
host = "127.0.0.1";
tls.enable = false;
in rec {
inherit realName;
maildir.path = "UKAEA";
imap = {
inherit host tls;
port = 1144;
};
smtp = {
inherit host tls;
port = 1026;
};
address = "evie.litherland-smith@ukaea.uk";
passwordCommand = "${pkgs.pass}/bin/pass show Mail/Outlook/ukaea";
userName = address;
mbsync = {
enable = true;
create = "both";
expunge = "both";
subFolders = "Verbatim";
extraConfig.account.AuthMechs = "LOGIN";
};
msmtp = {
enable = true;
extraConfig = {
tls = "off";
auth = "login";
};
};
mu.enable = true;
};
};
home.packages = with pkgs; [ protonmail-bridge davmail vdirsyncer ];
programs = {

View file

@ -1,112 +0,0 @@
{ pkgs, hostName, ... }:
''
IMAPAccount protonmail
Host 127.0.0.1
Port 1143
User e.litherlandsmith@proton.me
PassCmd +"${pkgs.pass}/bin/pass show Mail/Proton/${hostName}"
SSLType NONE
AuthMechs LOGIN
IMAPAccount icloud
Host imap.mail.me.com
Port 993
User edwardjls@me.com
PassCmd +"${pkgs.pass}/bin/pass show Mail/iCloud/mbsync"
SSLType IMAPS
IMAPAccount ukaea
Host 127.0.0.1
Port 1144
User evie.litherland-smith@ukaea.uk
PassCmd +"${pkgs.pass}/bin/pass show Mail/Outlook/ukaea"
SSLType None
AuthMechs LOGIN
IMAPStore ProtonRemote
Account protonmail
IMAPStore iCloudRemote
Account icloud
IMAPStore UKAEARemote
Account ukaea
MaildirStore ProtonLocal
Path ~/.mail/Proton/
Inbox ~/.mail/Proton/Inbox/
SubFolders Verbatim
MaildirStore iCloudLocal
Path ~/.mail/iCloud/
Inbox ~/.mail/iCloud/Inbox/
SubFolders Verbatim
MaildirStore UKAEALocal
Path ~/.mail/UKAEA/
Inbox ~/.mail/UKAEA/Inbox/
SubFolders Verbatim
Channel ProtonInbox
Far :ProtonRemote:"INBOX"
Near :ProtonLocal:"Inbox"
Create Near
Expunge Both
SyncState *
Channel ProtonFolders
Far :ProtonRemote:
Near :ProtonLocal:
Patterns * !"All Mail" !"INBOX" !"Inbox"
Create Both
Expunge Both
SyncState *
Channel iCloudInbox
Far :iCloudRemote:"INBOX"
Near :iCloudLocal:"Inbox"
Create Near
Expunge Both
SyncState *
Channel iCloudFolders
Far :iCloudRemote:
Near :iCloudLocal:
Patterns * !"All Mail" !"INBOX" !"Inbox"
Create Both
Expunge Both
SyncState *
Channel UKAEAInbox
Far :UKAEARemote:"INBOX"
Near :UKAEALocal:"Inbox"
Create Near
Expunge Both
SyncState *
Channel UKAEAFolders
Far :UKAEARemote:
Near :UKAEALocal:
Patterns * !"INBOX" !"Inbox"
Create Near
Expunge Both
SyncState *
Group icloud
Channel iCloudInbox
Channel iCloudFolders
Group protonmail
Channel ProtonInbox
Channel ProtonFolders
Group ukaea
Channel UKAEAInbox
Channel UKAEAFolders
Group inbox
Channel iCloudInbox
Channel ProtonInbox
Channel UKAEAInbox
''

View file

@ -1,33 +0,0 @@
{ pkgs, hostName, ... }:
''
defaults
port 587
account protonmail
host 127.0.0.1
from e.litherlandsmith@proton.me
auth login
user e.litherlandsmith@proton.me
passwordeval "${pkgs.pass}/bin/pass show Mail/Proton/${hostName}"
port 1025
tls off
account icloud
host smtp.mail.me.com
from e.litherlandsmith@icloud.com
auth on
user e.litherlandsmith@icloud.com
passwordeval "${pkgs.pass}/bin/pass show Mail/iCloud/mbsync"
port 587
tls on
account ukaea
host 127.0.0.1
from evie.litherland-smith@ukaea.uk
auth login
user evie.litherland-smith@ukaea.uk
passwordeval "${pkgs.pass}/bin/pass show Mail/Outlook/ukaea"
port 1026
tls off
''

View file

@ -8,7 +8,12 @@
import = [ catppuccin-themes.alacritty ];
window = {
dynamic_title = true;
decorations_theme_variant = "Dark";
padding = {
x = 10;
y = 10;
};
decorations = "none";
opacity = 0.8;
};
font = {
normal.family = "FiraCode Nerd Font";

View file

@ -1,13 +0,0 @@
{ ... }:
{
imports = [ ./default.nix ];
programs.alacritty.settings.window = {
dimensions = {
columns = 80;
lines = 24;
};
decorations = "full";
opacity = 1.0;
};
}

View file

@ -1,13 +0,0 @@
{ ... }:
{
imports = [ ./default.nix ];
programs.alacritty.settings.window = {
padding = {
x = 10;
y = 10;
};
decorations = "none";
opacity = 0.8;
};
}

View file

@ -1,5 +1,4 @@
{...}: {
imports = [./default.nix];
{ ... }: {
programs = {
bash.enable = true;
readline = {

21
home/default.nix Normal file
View file

@ -0,0 +1,21 @@
{ ... }:
{
imports = [
./accounts.nix
./alacritty.nix
./bash.nix
./emacs.nix
./firefox.nix
./fzf.nix
./git.nix
./media.nix
./pass.nix
./ssh.nix
./starship.nix
./tmux.nix
./zathura.nix
./zsh.nix
./hyprland/default.nix
];
}

22
home/fzf.nix Normal file
View file

@ -0,0 +1,22 @@
{ ... }:
{
programs.fzf = {
enable = true;
colors = {
fg = "#cad3f5";
bg = "#24273a";
hl = "#ed8796";
"fg+" = "#c678dd";
"bg+" = "#363a4f";
"hl+" = "#ed8796";
info = "#c6a0f6";
prompt = "#c6a0f6";
pointer = "#f4dbd6";
marker = "#f4dbd6";
spinner = "#f4dbd6";
header = "#ed8796";
};
};
}

View file

@ -1,5 +1,4 @@
{ lib, pkgs, catppuccin-themes, ... }: {
imports = [ ../tui/bat.nix ];
programs = {
git = {
enable = true;
@ -26,5 +25,10 @@
enable = true;
theme = builtins.readFile catppuccin-themes.gitui;
};
bat = {
enable = true;
config.theme = "Catppuccin";
themes.Catppuccin = builtins.readFile catppuccin-themes.bat;
};
};
}

View file

@ -3,7 +3,6 @@
{
imports = [
hyprland.homeManagerModules.default
../alacritty/tiling.nix
./waybar/default.nix
./swaync/default.nix
./rofi/default.nix

View file

@ -1,17 +0,0 @@
{
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "rot8";
version = "7ed926f6d94a999cd2cb702af9f3de0f566095b1";
src = fetchFromGitHub {
owner = "efernau";
repo = pname;
rev = version;
hash = "sha256-i+VLVA/XKZiFPEeFHR3CpZKi8CWA/tiaZJerciqQHJ0=";
};
cargoHash = "sha256-BoBuc3YkVdAR+gZZf5WxxRj/LCsBNSW7FSSU2OnNPgM=";
}

24
home/media.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ mpc-cli ];
services.mpd = {
enable = true;
network.startWhenNeeded = true;
};
programs = {
mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [
mpris
autoload
thumbfast
thumbnail
sponsorblock
quality-menu
webtorrent-mpv-hook
];
};
ncspot.enable = true;
};
}

View file

@ -1,21 +0,0 @@
{ config, lib, pkgs, ... }:
{
home.packages = with pkgs; [ mpc-cli ];
services.mpd = {
enable = true;
network.startWhenNeeded = true;
};
programs.mpv = {
enable = true;
scripts = with pkgs.mpvScripts; [
mpris
autoload
thumbfast
thumbnail
sponsorblock
quality-menu
webtorrent-mpv-hook
];
};
}

View file

@ -1,13 +0,0 @@
{ pkgs, ... }:
{
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
plugins = with pkgs.vimPlugins; [{
plugin = catppuccin-nvim;
config = "colorscheme catppuccin-macchiato";
}];
};
}

31
home/pass.nix Normal file
View file

@ -0,0 +1,31 @@
{ config, pkgs, ... }:
{
home.packages = [ pkgs.pinentry ];
programs = {
gpg.enable = true;
password-store = {
enable = true;
package = pkgs.pass.withExtensions
(exts: with exts; [ pass-otp pass-update pass-audit pass-import ]);
settings.PASSWORD_STORE_DIR = with config.home;
"${homeDirectory}/.password-store";
};
git.extraConfig.credential.helper =
"${pkgs.gitFull}/bin/git-credential-libsecret";
};
services = {
gpg-agent = {
enable = true;
defaultCacheTtl = 7200;
defaultCacheTtlSsh = 7200;
pinentryFlavor = "gtk2";
extraConfig = ''
no-allow-external-cache
allow-emacs-pinentry
allow-loopback-pinentry
'';
};
password-store-sync.enable = true;
};
}

View file

@ -1,15 +0,0 @@
{ config, pkgs, ... }:
{
programs = {
gpg.enable = true;
password-store = {
enable = true;
package = pkgs.pass.withExtensions (exts: with exts; [ pass-otp pass-update pass-audit pass-import ]);
settings.PASSWORD_STORE_DIR = with config.home;
"${homeDirectory}/.password-store";
};
git.extraConfig.credential.helper =
"${pkgs.gitFull}/bin/git-credential-libsecret";
};
}

View file

@ -1,19 +0,0 @@
{ ... }:
{
imports = [ ./default.nix ];
services = {
gpg-agent = {
enable = true;
defaultCacheTtl = 7200;
defaultCacheTtlSsh = 7200;
pinentryFlavor = "gtk2";
extraConfig = ''
no-allow-external-cache
allow-emacs-pinentry
allow-loopback-pinentry
'';
};
password-store-sync.enable = true;
};
}

View file

@ -1,37 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ dig silver-searcher gnumake ];
programs = {
direnv = {
enable = true;
nix-direnv.enable = true;
};
fzf = {
enable = true;
colors = {
fg = "-1";
bg = "-1";
hl = "#c678dd";
"fg+" = "#ffffff";
"bg+" = "#4b5263";
"hl+" = "#d858fe";
info = "#98c379";
prompt = "#61afef";
pointer = "#be5046";
marker = "#e5c07b";
spinner = "#61afef";
header = "#61afef";
};
};
keychain = {
enable = true;
extraFlags = [ "--quiet" "--noask" "--ignore-missing" ];
keys = [ "id_rsa" "id_ed25519" ];
enableXsessionIntegration = true;
};
starship.enable = true;
};
xdg.configFile = {
"starship.toml".source = ./starship.toml;
"pypoetry/config.toml".source = ./pypoetry.toml;
};
}

View file

@ -1,11 +0,0 @@
{ ... }:
{
imports = [ ./default.nix ];
programs = {
fish.enable = true;
fzf.enableFishIntegration = true;
keychain.enableFishIntegration = true;
starship.enableFishIntegration = true;
};
}

View file

@ -1,9 +0,0 @@
{...}: {
imports = [./default.nix];
programs = {
nushell.enable = true;
direnv.enableNushellIntegration = true;
keychain.enableNushellIntegration = true;
starship.enableNushellIntegration = true;
};
}

View file

@ -1,3 +0,0 @@
[virtualenvs]
prefer-active-python = true
in-project = true

View file

@ -1,129 +0,0 @@
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'
command_timeout = 1000
# Inserts a blank line between shell prompts
add_newline = true
# Sets user-defined palette
palette = "catppuccin_macchiato"
[directory]
fish_style_pwd_dir_length = 1
read_only = "󰌾 "
[character]
success_symbol = "[ ](green)"
error_symbol = "[ ](red)"
[line_break]
disabled = false
[git_branch]
symbol = " "
[git_metrics]
disabled = false
[hostname]
ssh_only = false
ssh_symbol = "󰢹 "
style = "bold green"
[memory_usage]
symbol = "󰍛 "
disabled = false
[os]
format = "on [$symbol $name ]($style)"
style = "bold blue"
disabled = false
[os.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 = " "
[package]
symbol = " "
[shell]
format = "using [$indicator ]($style)"
disabled = false
[sudo]
symbol = "󰪋 "
disabled = false
[docker_context]
symbol = " "
[julia]
symbol = " "
[lua]
symbol = " "
[nix_shell]
symbol = " "
[python]
symbol = " "
[rlang]
symbol = " "
[rust]
symbol = " "
[palettes.catppuccin_macchiato]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"

38
home/ssh.nix Normal file
View file

@ -0,0 +1,38 @@
{ 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";
};
"git*".user = "git";
};
};
keychain = {
enable = true;
extraFlags = [ "--quiet" "--noask" "--ignore-missing" ];
keys = [ "id_rsa" "id_ed25519" ];
enableXsessionIntegration = true;
};
};
}

View file

@ -1,30 +0,0 @@
{ 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";
};
"git*".user = "git";
};
};
}

76
home/starship.nix Normal file
View file

@ -0,0 +1,76 @@
{ catppuccin-themes, ... }:
{
programs.starship = {
enable = 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)";
vimcmd_symbol = "[](green)";
};
directory = {
fish_style_pwd_dir_length = 1;
read_only = "󰌾 ";
style = "bold lavender";
};
line_break.disabled = false;
git_metrics.disabled = false;
hostname = {
ssh_only = true;
ssh_symbol = "󰢹 ";
style = "bold green";
};
memory_usage = {
disabled = false;
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 = " ";
};
};
shell = {
disabled = false;
format = "using [$indicator ]($style)";
};
sudo = {
disabled = false;
symbol = "󰪋 ";
};
};
};
}

View file

@ -1,9 +0,0 @@
{ catppuccin-themes, ... }:
{
programs.bat = {
enable = true;
config.theme = "Catppuccin";
themes.Catppuccin = builtins.readFile catppuccin-themes.bat;
};
}

View file

@ -1,210 +0,0 @@
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
[general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
; mode = normal
# Accepts only non-negative values.
; framerate = 60
# 'autosens' will attempt to decrease sensitivity if the bars peak. 1 = on, 0 = off
# new as of 0.6.0 autosens of low values (dynamic range)
# 'overshoot' allows bars to overshoot (in % of terminal height) without initiating autosens. DEPRECATED as of 0.6.0
; autosens = 1
; overshoot = 20
# Manual sensitivity in %. If autosens is enabled, this will only be the initial value.
# 200 means double height. Accepts only non-negative values.
; sensitivity = 100
# The number of bars (0-200). 0 sets it to auto (fill up console).
# Bars' width and space between bars in number of characters.
; bars = 0
; bar_width = 2
; bar_spacing = 1
# bar_height is only used for output in "noritake" format
; bar_height = 32
# For SDL width and space between bars is in pixels, defaults are:
; bar_width = 20
; bar_spacing = 5
# Lower and higher cutoff frequencies for lowest and highest bars
# the bandwidth of the visualizer.
# Note: there is a minimum total bandwidth of 43Mhz x number of bars.
# Cava will automatically increase the higher cutoff if a too low band is specified.
; lower_cutoff_freq = 50
; higher_cutoff_freq = 10000
# Seconds with no input before cava goes to sleep mode. Cava will not perform FFT or drawing and
# only check for input once per second. Cava will wake up once input is detected. 0 = disable.
; sleep_timer = 0
[input]
# Audio capturing method. Possible methods are: 'pulse', 'alsa', 'fifo', 'sndio' or 'shmem'
# Defaults to 'pulse', 'alsa' or 'fifo', in that order, dependent on what support cava was built with.
#
# All input methods uses the same config variable 'source'
# to define where it should get the audio.
#
# For pulseaudio 'source' will be the source. Default: 'auto', which uses the monitor source of the default sink
# (all pulseaudio sinks(outputs) have 'monitor' sources(inputs) associated with them).
#
# For alsa 'source' will be the capture device.
# For fifo 'source' will be the path to fifo-file.
# For shmem 'source' will be /squeezelite-AA:BB:CC:DD:EE:FF where 'AA:BB:CC:DD:EE:FF' will be squeezelite's MAC address
; method = pulse
; source = auto
; method = alsa
; source = hw:Loopback,1
; method = fifo
; source = /tmp/mpd.fifo
; sample_rate = 44100
; sample_bits = 16
; method = shmem
; source = /squeezelite-AA:BB:CC:DD:EE:FF
; method = portaudio
; source = auto
[output]
# Output method. Can be 'ncurses', 'noncurses', 'raw', 'noritake' or 'sdl'.
# 'noncurses' uses a custom framebuffer technique and prints only changes
# from frame to frame in the terminal. 'ncurses' is default if supported.
#
# 'raw' is an 8 or 16 bit (configurable via the 'bit_format' option) data
# stream of the bar heights that can be used to send to other applications.
# 'raw' defaults to 200 bars, which can be adjusted in the 'bars' option above.
#
# 'noritake' outputs a bitmap in the format expected by a Noritake VFD display
# in graphic mode. It only support the 3000 series graphical VFDs for now.
#
# 'sdl' uses the Simple DirectMedia Layer to render in a graphical context.
; method = ncurses
# Orientation of the visualization. Can be 'bottom', 'top', 'left' or 'right'.
# Default is 'bottom'. Other orientations are only supported on sdl and ncruses
# output. Note: many fonts have weird glyphs for 'top' and 'right' characters,
# which can make ncurses not look right.
; orientation = bottom
# Visual channels. Can be 'stereo' or 'mono'.
# 'stereo' mirrors both channels with low frequencies in center.
# 'mono' outputs left to right lowest to highest frequencies.
# 'mono_option' set mono to either take input from 'left', 'right' or 'average'.
# set 'reverse' to 1 to display frequencies the other way around.
; channels = stereo
; mono_option = average
; reverse = 0
# Raw output target. A fifo will be created if target does not exist.
; raw_target = /dev/stdout
# Raw data format. Can be 'binary' or 'ascii'.
; data_format = binary
# Binary bit format, can be '8bit' (0-255) or '16bit' (0-65530).
; bit_format = 16bit
# Ascii max value. In 'ascii' mode range will run from 0 to value specified here
; ascii_max_range = 1000
# Ascii delimiters. In ascii format each bar and frame is separated by a delimiters.
# Use decimal value in ascii table (i.e. 59 = ';' and 10 = '\n' (line feed)).
; bar_delimiter = 59
; frame_delimiter = 10
# sdl window size and position. -1,-1 is centered.
; sdl_width = 1000
; sdl_height = 500
; sdl_x = -1
; sdl_y= -1
# set label on bars on the x-axis. Can be 'frequency' or 'none'. Default: 'none'
# 'frequency' displays the lower cut off frequency of the bar above.
# Only supported on ncurses and noncurses output.
; xaxis = none
# enable alacritty synchronized updates. 1 = on, 0 = off
# removes flickering in alacritty terminal emeulator.
# defaults to off since the behaviour in other terminal emulators is unknown
; alacritty_sync = 0
[color]
# Colors can be one of seven predefined: black, blue, cyan, green, magenta, red, white, yellow.
# Or defined by hex code '#xxxxxx' (hex code must be within ''). User defined colors requires
# a terminal that can change color definitions such as Gnome-terminal or rxvt.
# default is to keep current terminal color
; background = default
; foreground = default
# SDL only support hex code colors, these are the default:
; background = '#111111'
; foreground = '#33cccc'
# Gradient mode, only hex defined colors are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen
; gradient = 0
; gradient_count = 8
; gradient_color_1 = '#59cc33'
; gradient_color_2 = '#80cc33'
; gradient_color_3 = '#a6cc33'
; gradient_color_4 = '#cccc33'
; gradient_color_5 = '#cca633'
; gradient_color_6 = '#cc8033'
; gradient_color_7 = '#cc5933'
; gradient_color_8 = '#cc3333'
[smoothing]
# Percentage value for integral smoothing. Takes values from 0 - 100.
# Higher values means smoother, but less precise. 0 to disable.
# DEPRECATED as of 0.8.0, use noise_reduction instead
; integral = 77
# Disables or enables the so-called "Monstercat smoothing" with or without "waves". Set to 0 to disable.
; monstercat = 0
; waves = 0
# Set gravity percentage for "drop off". Higher values means bars will drop faster.
# Accepts only non-negative values. 50 means half gravity, 200 means double. Set to 0 to disable "drop off".
# DEPRECATED as of 0.8.0, use noise_reduction instead
; gravity = 100
# In bar height, bars that would have been lower that this will not be drawn.
# DEPRECATED as of 0.8.0
; ignore = 0
# Noise reduction, float 0 - 1. default 0.77
# the raw visualization is very noisy, this factor adjusts the integral and gravity filters to keep the signal smooth
# 1 will be very slow and smooth, 0 will be fast but noisy.
; noise_reduction = 0.77
[eq]
# This one is tricky. You can have as much keys as you want.
# Remember to uncomment more then one key! More keys = more precision.
# Look at readme.md on github for further explanations and examples.
; 1 = 1 # bass
; 2 = 1
; 3 = 1 # midtone
; 4 = 1
; 5 = 1 # treble

View file

@ -1,4 +0,0 @@
{pkgs, ...}: {
home.packages = with pkgs; [cava];
xdg.configFile."cava/config".source = ./config;
}

View file

@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.pinentry ];
imports = [ ./bat.nix ];
programs.ncspot.enable = true;
}

View file

@ -1,5 +1,5 @@
{ config, catppuccin-themes, ... }: {
imports = [ ./default.nix ];
home.packages = with pkgs; [ dig silver-searcher gnumake ];
programs = {
zsh = {
enable = true;
@ -39,7 +39,11 @@
theme = "";
};
};
direnv.enableZshIntegration = true;
direnv = {
enable = true;
nix-direnv.enable = true;
enableZshIntegration = true;
};
fzf.enableZshIntegration = true;
keychain.enableZshIntegration = true;
starship.enableZshIntegration = true;

View file

@ -1,4 +1,4 @@
{ pkgs, lib, user, shellConfig, ... }:
{ config, pkgs, lib, user, ... }:
{
home.packages = with pkgs; [
@ -54,127 +54,44 @@
compression = true;
};
};
firefox.profiles.default = {
settings."browser.startup.homepage" = "https://nucleus.ukaea.uk";
bookmarks = [{
name = "toolbar";
toolbar = true;
bookmarks = [
{
name = "Gitea";
tags = [ "git" "source" "xenia" ];
url = "https://git.xenia.me.uk";
}
{
name = "GitHub";
tags = [ "git" "source" ];
url = "https://github.com";
}
{
name = "GitLab";
tags = [ "git" "source" ];
url = "https://gitlab.com";
}
{
name = "UKAEA GitLab";
tags = [ "git" "source" ];
url = "https://git.ccfe.ac.uk";
}
{
name = "Nucleus";
url = "https://nucleus.ukaea.uk";
}
{
name = "U4BW";
tags = [ "admin" ];
url = "https://ubw.unit4cloud.com/uk_aea_prod_web";
}
{
name = "Marval";
tags = [ "admin" "helpdesk" ];
url = "https://marval.service.ukaea.uk/MSMSelfService/Index.aspx";
}
{
name = "JET homepage";
tags = [ "JET" ];
url = "http://w3.jet.uk/index.shtml";
}
{
name = "Physics Summary";
tags = [ "JET" "operations" ];
url =
"https://users.euro-fusion.org/pages/physics-summary/LatestSession.php";
}
{
name = "JSPO";
tags = [ "JET" "operations" ];
url = "https://www.jspo.jet.uk/";
}
{
name = "DRS";
tags = [ "JET" "operations" ];
url = "http://jlswebhost.jet.uk:8087/jls/experiments/indexdrs.html";
}
{
name = "pySpec";
tags = [ "JET" "operations" ];
url = "http://heimdall003.jet.uk:3060/v1/interactive";
}
{
name = "OpenWikis";
bookmarks = [
{
name = "Home page";
tags = [ "JET" "operations" "wiki" ];
url = "https://wiki.jetdata.eu/open/index.php?title=Main_Page";
}
{
name = "Spectroscopy Group";
tags = [ "JET" "operations" "wiki" ];
url =
"https://wiki.jetdata.eu/open/index.php?title=Spectroscopy_Group:index";
}
{
name = "Diagnostic Coordinator";
tags = [ "JET" "operations" "wiki" ];
url =
"https://wiki.jetdata.eu/open/index.php?title=Diagnostic_Coordinator_Wiki";
}
{
name = "KS5";
tags = [ "JET" "operations" "wiki" ];
url = "https://wiki.jetdata.eu/open/index.php?title=CXS:Topic3";
}
{
name = "KT3";
tags = [ "JET" "operations" "wiki" ];
url =
"https://wiki.jetdata.eu/open/index.php?title=KT3_Journals";
}
];
}
{
name = "JET Mimics";
bookmarks = [
{
name = "Countdown";
tags = [ "JET" "operations" "mimics" ];
url = "http://webmimic.jet.uk/mc/codas/countdown";
}
{
name = "KS5";
tags = [ "JET" "operations" "mimics" ];
url = "http://webmimic.jet.uk/DG/codas/ks5.mim.html";
}
{
name = "KT3";
tags = [ "JET" "operations" "mimics" ];
url = "http://webmimic.jet.uk/DG/codas/kt3spec.mim.html";
}
];
}
];
}];
firefox.profiles.default.settings."browser.startup.homepage" =
"https://nucleus.ukaea.uk";
};
accounts.email.accounts = {
proton.primary = lib.mkForce false;
ukaea = let
host = "127.0.0.1";
tls.enable = false;
in rec {
inherit (config.accounts.email.accounts.proton) realName;
maildir.path = "UKAEA";
imap = {
inherit host tls;
port = 1144;
};
smtp = {
inherit host tls;
port = 1026;
};
address = "evie.litherland-smith@ukaea.uk";
passwordCommand = "${pkgs.pass}/bin/pass show Mail/Outlook/ukaea";
primary = true;
userName = address;
mbsync = {
enable = true;
create = "both";
expunge = "both";
subFolders = "Verbatim";
extraConfig.account.AuthMechs = "LOGIN";
};
msmtp = {
enable = true;
extraConfig = {
tls = "off";
auth = "login";
};
};
mu.enable = true;
};
};
services.kanshi.profiles = {