various updates
This commit is contained in:
parent
46151ed25b
commit
f70a18723f
17 changed files with 415 additions and 116 deletions
|
@ -23,6 +23,8 @@
|
|||
|
||||
users.users.vivian.extraGroups = [ "adbusers" ];
|
||||
|
||||
security.pki.certificateFiles = [ ./domain.crt ];
|
||||
|
||||
# Bootloader.
|
||||
boot = {
|
||||
bootspec.enable = true;
|
||||
|
@ -43,12 +45,20 @@
|
|||
|
||||
home-manager.users.vivian = import ./home;
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
|
||||
# Add any missing dynamic libraries for unpackaged programs
|
||||
|
||||
# here, NOT in environment.systemPackages
|
||||
];
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.gnome-autounlock-keyring = {
|
||||
enable = true;
|
||||
target = "hyprland-session.target";
|
||||
};
|
||||
# services.gnome-autounlock-keyring = {
|
||||
# enable = true;
|
||||
# target = "hyprland-session.target";
|
||||
# };
|
||||
|
||||
services.interception-tools = {
|
||||
enable = true;
|
||||
|
|
21
hosts/thalassa/aoife/domain.crt
Normal file
21
hosts/thalassa/aoife/domain.crt
Normal file
|
@ -0,0 +1,21 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZTCCAk2gAwIBAgIUcCV6T0NduGa58qOcAhe9n8oOcEIwDQYJKoZIhvcNAQEL
|
||||
BQAwWzELMAkGA1UEBhMCTkwxFTATBgNVBAgMDFp1aWQtSG9sbGFuZDEOMAwGA1UE
|
||||
BwwFRGVsZnQxETAPBgNVBAoMCFRVIERlbGZ0MRIwEAYDVQQDDAlsb2NhbGhvc3Qw
|
||||
HhcNMjQwNDA1MDgyMDQxWhcNMjUwNDA1MDgyMDQxWjBbMQswCQYDVQQGEwJOTDEV
|
||||
MBMGA1UECAwMWnVpZC1Ib2xsYW5kMQ4wDAYDVQQHDAVEZWxmdDERMA8GA1UECgwI
|
||||
VFUgRGVsZnQxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAIcX6xGqorbXkIqtH0ek2L9YAc0ruKF7aTpY9q7n6EpD4OC1
|
||||
Q575fvnEqBsvKC74xh1AO58x7HLxAIWmy76UqUxJIQ7vtfCKxFDjBDhgitmnxWK1
|
||||
3QCrHwFS3MThqOq0zhK7AqnpzzdHsj9zfPWbrhP86m4uugIAund2YiSUPX7ZrSSO
|
||||
pY60bZiA2c3hJbqxg+NvNN1vZHEsPGaZHXMMrycw0bLOBoKPvbenl3ig23vsyRSO
|
||||
MwiJgLK/ztMI6r2KMJVZofjbu1Mz+WPzotKaCrSArSRF36BOzafyxqgO0h3Vqp4W
|
||||
Z6UpS1bFTpbJckz8LqNvlP/Z4mV5+1QyrwwN/iMCAwEAAaMhMB8wHQYDVR0OBBYE
|
||||
FOSRI3SKLWlk2RamJJwyyFlP9UnhMA0GCSqGSIb3DQEBCwUAA4IBAQARLh5z4Ius
|
||||
0kiejnMtzV5xAckbqbcultdEdGfjZciv3BM9C7DpEF5Nj8CbaK6TXrKh98bxQ6w+
|
||||
lPL/6LECkPhvHWRhTOsrhDV5h6eSPyV/TX4Jj127WnzA1LcjoEngUY97y6p/eBkE
|
||||
hZWepPPAhuEmu/ws1UmF8vrT4sc+nMKXrOTsqkdUKHh2JZuFby3+SHDkYX66ZxXK
|
||||
bQ3dEi6GyOkZIOuaNK+mS76yVanRU4k0A3dhIpW4pV6W12AAWioGaZv34uKVTp9E
|
||||
XgNhqDC39lU4rLp260NvuRywAKxvR7hKyWfmwak5lr0dZ9t4eufPI4jU5SD+aotq
|
||||
FVTMFwAKZO5v
|
||||
-----END CERTIFICATE-----
|
|
@ -1,5 +1,6 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./starship.nix
|
||||
./hyprland.nix
|
||||
];
|
||||
|
||||
|
@ -15,7 +16,6 @@
|
|||
|
||||
home.packages = with pkgs; [
|
||||
libreoffice-fresh
|
||||
jetbrains.clion
|
||||
jetbrains.rust-rover
|
||||
eduvpn-client
|
||||
localsend
|
||||
|
@ -23,6 +23,4 @@
|
|||
typst
|
||||
prismlauncher
|
||||
];
|
||||
|
||||
## Hyprland Config
|
||||
}
|
||||
|
|
|
@ -1,5 +1,17 @@
|
|||
{ pkgs, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
terminal = "${config.programs.kitty.package}/bin/kitty -1";
|
||||
in
|
||||
{
|
||||
|
||||
home.packages = with pkgs; [
|
||||
v.hyprland-workspaces
|
||||
];
|
||||
|
||||
systemd.user.services.mako = {
|
||||
Install = {
|
||||
|
@ -27,15 +39,23 @@
|
|||
};
|
||||
};
|
||||
|
||||
xdg.configFile."hypr/hyprpaper.conf".text =
|
||||
let
|
||||
wallpaper = "/home/vivian/cloud/Pictures/Wallpapers-Laptop/wallpaper-nix-pink.png";
|
||||
in
|
||||
''
|
||||
|
||||
'';
|
||||
|
||||
programs = {
|
||||
wofi = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
eww = {
|
||||
enable = true;
|
||||
configDir = ./eww;
|
||||
};
|
||||
# eww = {
|
||||
# enable = true;
|
||||
# configDir = ./eww;
|
||||
# };
|
||||
|
||||
mako.enable = true;
|
||||
|
||||
|
@ -59,15 +79,24 @@
|
|||
wireplumber = {
|
||||
format = " {volume}%";
|
||||
format-muted = "";
|
||||
on-click = "wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
on-click = "${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_SINK@ toggle";
|
||||
};
|
||||
|
||||
network = {
|
||||
format-wifi = " {essid} ({signalStrength}%)";
|
||||
format-ethernet = " {ifname}: {ipaddr}/{cidr}";
|
||||
format-disconnected = " ";
|
||||
tooltip-format = "{ifname}: {ipaddr}";
|
||||
};
|
||||
network =
|
||||
let
|
||||
nmtui = pkgs.writeScriptBin "nmtui.sh" ''
|
||||
#!${pkgs.stdenv.shell}
|
||||
unset COLORTERM
|
||||
TERM=xterm-old ${pkgs.networkmanager}/bin/nmtui
|
||||
'';
|
||||
in
|
||||
{
|
||||
format-wifi = " {essid} ({signalStrength}%)";
|
||||
format-ethernet = " {ifname}: {ipaddr}/{cidr}";
|
||||
format-disconnected = " ";
|
||||
tooltip-format = "{ifname}: {ipaddr}";
|
||||
on-click = "touch ~/a && ${terminal} --execute ${nmtui}/bin/nmtui.sh";
|
||||
};
|
||||
|
||||
power-profiles-daemon = {
|
||||
format = "{icon}";
|
||||
|
@ -122,11 +151,25 @@
|
|||
'';
|
||||
startup = pkgs.writeScriptBin "startup.sh" ''
|
||||
#!${pkgs.stdenv.shell}
|
||||
|
||||
firefox &
|
||||
discord &
|
||||
element-desktop &
|
||||
|
||||
# start keyring, then unlock it, then start Element
|
||||
gnome-keyring-daemon -r -d && ${
|
||||
inputs.gnome-autounlock-keyring.packages.${pkgs.system}.default
|
||||
}/bin/gnome-autounlock-keyring unlock && element-desktop &
|
||||
'';
|
||||
hyprpaper-conf =
|
||||
let
|
||||
wallpaper = ../../../../assets/wallpaper-nix-pink.png;
|
||||
in
|
||||
pkgs.writeText "hyprpaper.conf" ''
|
||||
preload = ${wallpaper}
|
||||
wallpaper = eDP-1,${wallpaper}
|
||||
|
||||
splash = false
|
||||
ipc = off
|
||||
'';
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
|
@ -138,12 +181,12 @@
|
|||
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||
menu = "${config.programs.wofi.package}/bin/wofi --show run,drun";
|
||||
terminal = "${config.programs.kitty.package}/bin/kitty";
|
||||
fileManager = "${pkgs.gnome.nautilus}/bin/nautilus";
|
||||
in
|
||||
{
|
||||
"$mod" = "SUPER";
|
||||
exec-once = [
|
||||
"${pkgs.hyprpaper}/bin/hyprpaper -c ${hyprpaper-conf}"
|
||||
"${startup}/bin/startup.sh"
|
||||
];
|
||||
monitor = [
|
||||
|
@ -157,21 +200,21 @@
|
|||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
border_size = 2;
|
||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = "rgba(595959aa)";
|
||||
"col.active_border" = "rgba(8caaeeee) rgba(a6d189ee) 45deg";
|
||||
"col.inactive_border" = "rgba(303446aa)";
|
||||
layout = "dwindle";
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false;
|
||||
};
|
||||
group = {
|
||||
"col.border_active" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.border_inactive" = "rgba(595959aa)";
|
||||
"col.border_active" = "rgba(babbf1ee) rgba(f4b8e4ee) 45deg";
|
||||
"col.border_inactive" = "rgba(232634aa)";
|
||||
|
||||
groupbar = {
|
||||
font_size = 16;
|
||||
"col.active" = "rgba(babbf1aa)";
|
||||
"col.inactive" = "rgba(414559aa)";
|
||||
text_color = "rgba(232634ff)";
|
||||
text_color = "rgba(81c8beee)";
|
||||
};
|
||||
};
|
||||
decoration = {
|
||||
|
@ -211,7 +254,7 @@
|
|||
misc = {
|
||||
force_default_wallpaper = 2;
|
||||
disable_splash_rendering = true;
|
||||
# disable_hyprland_logo = true;
|
||||
disable_hyprland_logo = true;
|
||||
disable_autoreload = true;
|
||||
};
|
||||
|
||||
|
@ -219,9 +262,9 @@
|
|||
"suppressevent maximize, class:.* # You'll probably like this."
|
||||
"workspace 1 silent, class:^(Element)$"
|
||||
"workspace 1 silent, class:^(discord)$"
|
||||
"group, class:^(Element|discord)$,workspace:1"
|
||||
"workspace 2 silent, class:^(firefox)$"
|
||||
"float,class:^(firefox)$,title:^(Picture-in-Picture)$"
|
||||
"group set always,onworkspace:1 "
|
||||
];
|
||||
|
||||
# l -> works when screen is locked
|
||||
|
|
17
hosts/thalassa/aoife/home/starship.nix
Normal file
17
hosts/thalassa/aoife/home/starship.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ pkgs, config, ...}:
|
||||
let
|
||||
starshipNerdFont = pkgs.runCommand "starship-nerd-font.toml" { STARSHIP_CACHE = "/tmp"; } ''
|
||||
${config.programs.starship.package}/bin/starship preset nerd-font-symbols > $out
|
||||
'';
|
||||
in{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
|
||||
settings = {
|
||||
nix_shell.heuristic = true;
|
||||
} // builtins.fromTOML (builtins.readFile starshipNerdFont);
|
||||
};
|
||||
}
|
|
@ -1,8 +1,11 @@
|
|||
# Config options needed for various university courses, such as:
|
||||
# * Wireless IoT and Local Area Networks
|
||||
# * Network Security
|
||||
{ pkgs, ... }: {
|
||||
# * Smart Phone Sensing
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
android-studio
|
||||
docker-compose
|
||||
bridge-utils
|
||||
nettools
|
||||
|
@ -19,5 +22,17 @@
|
|||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker.storageDriver = "btrfs";
|
||||
|
||||
users.extraUsers.vivian.extraGroups = [ "wireshark" "docker" "lxd" ];
|
||||
users.extraUsers.vivian.extraGroups = [
|
||||
"wireshark"
|
||||
"docker"
|
||||
"lxd"
|
||||
];
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
package = pkgs.nix-ld-rs;
|
||||
libraries = [
|
||||
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,25 @@
|
|||
{ config, pkgs, inputs, texlive, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
texlive,
|
||||
...
|
||||
}:
|
||||
let
|
||||
tex = pkgs.texlive.combine {
|
||||
inherit (pkgs.texlive) scheme-full;
|
||||
dnd-5e-latex-template = { pkgs = [ pkgs.v.dnd-5e-latex-template ]; };
|
||||
dnd-5e-latex-template = {
|
||||
pkgs = [ pkgs.v.dnd-5e-latex-template ];
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
foot = { enable = true; };
|
||||
foot = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
nix-index.enable = true;
|
||||
|
||||
|
@ -64,18 +74,142 @@ in
|
|||
"latex.outDir" = "%TMPDIR%/%RELATIVE_DOC%";
|
||||
};
|
||||
"workbench.colorTheme" = "Catppuccin Frappé";
|
||||
"editor.fontFamily" =
|
||||
"'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
||||
"editor.fontFamily" = "'DejaVuSansMono Nerd Font', 'monospace', monospace";
|
||||
"keyboard.dispatch" = "keyCode";
|
||||
"rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
|
||||
"terminal.integrated.defaultProfile.linux" = "zsh";
|
||||
"nix.enableLanguageServer" = true; # Enable LSP.
|
||||
"nix.serverPath" =
|
||||
"${pkgs.nil}/bin/nil"; # The path to the LSP server executable.
|
||||
"[nix]" = { "editor.defaultFormatter" = "brettm12345.nixfmt-vscode"; };
|
||||
"nix.serverPath" = "${pkgs.nil}/bin/nil"; # The path to the LSP server executable.
|
||||
"[nix]" = {
|
||||
"editor.defaultFormatter" = "brettm12345.nixfmt-vscode";
|
||||
};
|
||||
"latex-workshop.latex.tools" = [
|
||||
{
|
||||
"name" = "latexmk";
|
||||
"command" = "latexmk";
|
||||
"args" = [
|
||||
"-shell-escape"
|
||||
"-synctex=1"
|
||||
"-interaction=nonstopmode"
|
||||
"-file-line-error"
|
||||
"-pdf"
|
||||
"-outdir=%OUTDIR%"
|
||||
"%DOC%"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "lualatexmk";
|
||||
"command" = "latexmk";
|
||||
"args" = [
|
||||
"-synctex=1"
|
||||
"-interaction=nonstopmode"
|
||||
"-file-line-error"
|
||||
"-lualatex"
|
||||
"-outdir=%OUTDIR%"
|
||||
"%DOC%"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "xelatexmk";
|
||||
"command" = "latexmk";
|
||||
"args" = [
|
||||
"-synctex=1"
|
||||
"-interaction=nonstopmode"
|
||||
"-file-line-error"
|
||||
"-xelatex"
|
||||
"-outdir=%OUTDIR%"
|
||||
"%DOC%"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "latexmk_rconly";
|
||||
"command" = "latexmk";
|
||||
"args" = [ "%DOC%" ];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "pdflatex";
|
||||
"command" = "pdflatex";
|
||||
"args" = [
|
||||
"-synctex=1"
|
||||
"-interaction=nonstopmode"
|
||||
"-file-line-error"
|
||||
"%DOC%"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "bibtex";
|
||||
"command" = "bibtex";
|
||||
"args" = [ "%DOCFILE%" ];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "rnw2tex";
|
||||
"command" = "Rscript";
|
||||
"args" = [
|
||||
"-e"
|
||||
"knitr==opts_knit$set(concordance = TRUE); knitr==knit('%DOCFILE_EXT%')"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "jnw2tex";
|
||||
"command" = "julia";
|
||||
"args" = [
|
||||
"-e"
|
||||
"using Weave; weave(\"%DOC_EXT%\"; doctype=\"tex\")"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "jnw2texminted";
|
||||
"command" = "julia";
|
||||
"args" = [
|
||||
"-e"
|
||||
"using Weave; weave(\"%DOC_EXT%\"; doctype=\"texminted\")"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "pnw2tex";
|
||||
"command" = "pweave";
|
||||
"args" = [
|
||||
"-f"
|
||||
"tex"
|
||||
"%DOC_EXT%"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "pnw2texminted";
|
||||
"command" = "pweave";
|
||||
"args" = [
|
||||
"-f"
|
||||
"texminted"
|
||||
"%DOC_EXT%"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
{
|
||||
"name" = "tectonic";
|
||||
"command" = "tectonic";
|
||||
"args" = [
|
||||
"--synctex"
|
||||
"--keep-logs"
|
||||
"%DOC%.tex"
|
||||
];
|
||||
"env" = { };
|
||||
}
|
||||
];
|
||||
};
|
||||
extensions = with pkgs.vscode-extensions;
|
||||
with pkgs.v.vscode-extensions; [
|
||||
extensions =
|
||||
with pkgs.vscode-extensions;
|
||||
with pkgs.v.vscode-extensions;
|
||||
[
|
||||
# astro-build.astro-vscode
|
||||
brettm12345.nixfmt-vscode
|
||||
catppuccin.catppuccin-vsc
|
||||
|
@ -99,12 +233,16 @@ in
|
|||
|
||||
direnv = {
|
||||
enable = true;
|
||||
nix-direnv = { enable = true; };
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
sessionVariables = { DIRENV_LOG_FORMAT = ""; };
|
||||
sessionVariables = {
|
||||
DIRENV_LOG_FORMAT = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
home = {
|
||||
|
@ -128,7 +266,7 @@ in
|
|||
gnome.gnome-font-viewer
|
||||
gnome.nautilus
|
||||
grim # Screenshot tool
|
||||
inputs.comma.packages.${pkgs.system}.default
|
||||
# inputs.comma.packages.${pkgs.system}.default
|
||||
inputs.webcord.packages.${pkgs.system}.default
|
||||
k9s
|
||||
kubectl
|
||||
|
@ -158,13 +296,20 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
imports = [ ./hyprland.nix ./neovim.nix ./eww ./theme.nix ];
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
./neovim.nix
|
||||
./eww
|
||||
./theme.nix
|
||||
];
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications =
|
||||
let browser = [ "firefox.desktop" ];
|
||||
in {
|
||||
let
|
||||
browser = [ "firefox.desktop" ];
|
||||
in
|
||||
{
|
||||
"image/*" = "org.gnome.eog.desktop";
|
||||
"text/html" = browser;
|
||||
"x-scheme-handler/http" = browser;
|
||||
|
@ -188,8 +333,10 @@ in
|
|||
};
|
||||
|
||||
xdg.userDirs =
|
||||
let home = config.home.homeDirectory;
|
||||
in {
|
||||
let
|
||||
home = config.home.homeDirectory;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = "${home}/.desktop";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue