various updates

This commit is contained in:
Vivian 2024-04-24 12:05:59 +02:00
parent 46151ed25b
commit f70a18723f
17 changed files with 415 additions and 116 deletions

View file

@ -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;

View 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-----

View file

@ -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
}

View file

@ -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

View 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);
};
}

View file

@ -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 = [
];
};
}

View file

@ -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";