various updates
Lint / lint (push) Failing after 2m50s Details

new
Vivian 2024-04-24 12:05:59 +02:00
parent 57b166f13c
commit 2dd983451d
17 changed files with 415 additions and 116 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -22,6 +22,7 @@ let
flask
ipwhois
pyasn
z3-solver
];
in
{
@ -37,9 +38,8 @@ in
gcc
gimp
inputs.attic.packages.${pkgs.system}.attic
inputs.comma.packages.${pkgs.system}.default
comma
discord
jetbrains.clion
jetbrains.rust-rover
kdenlive
libreoffice-fresh
@ -54,6 +54,7 @@ in
tex
unzip
yt-dlp
# z3
];
# Enable my own hm modules

View File

@ -6,6 +6,7 @@
}:
with lib;
let
inherit (builtins) fromTOML readFile;
cfg = config.themes.v.catppuccin;
mako = pkgs.fetchFromGitHub {
owner = "catppuccin";
@ -13,6 +14,12 @@ let
rev = "9dd088aa5f4529a3dd4d9760415e340664cb86df";
sha256 = "sha256-nUzWkQVsIH4rrCFSP87mXAka6P+Td2ifNbTuP7NM/SQ=";
};
starship = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "starship";
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f";
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
};
in
{
options.themes.v.catppuccin = {
@ -69,7 +76,11 @@ in
})
];
programs.mako.extraConfig = builtins.readFile "${mako}/src/frappe";
programs.mako.extraConfig = readFile "${mako}/src/frappe";
programs.starship.settings = {
palette = "catppuccin_frappe";
} //fromTOML (readFile "${starship}/palettes/frappe.toml");
programs.vscode = {
userSettings."workbench.colorTheme" = "Catppuccin Frappé";

View File

@ -296,7 +296,7 @@ with lib;
telescope = {
enable = true;
defaults.preview.ls_short = true;
extensions.file_browser = {
extensions.file-browser = {
enable = true;
hijackNetrw = true;
dirIcon = "";

View File

@ -28,15 +28,16 @@ in
[build]
rustc-wrapper = "${pkgs.sccache}/bin/sccache"
[target.'cfg(not(target_arch = "mips"))']
linker = "${pkgs.clang}/bin/clang"
rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"]
[profile.rust-analyzer]
inherits = "dev"
'';
# [target.'cfg(not(target_arch = "mips"))']
# linker = "${pkgs.clang}/bin/clang"
# rustflags = ["-C", "link-arg=-fuse-ld=${pkgs.mold}/bin/mold"]
sessionPath = [ "$HOME/.cargo/bin" ];
};
};

View File

@ -1,5 +1,16 @@
{ config, pkgs, lib, inputs, ... }: {
imports = [ ./laura.nix ./vivian.nix ./jonathan.nix ];
{
config,
pkgs,
lib,
inputs,
...
}:
{
imports = [
./laura.nix
./vivian.nix
./jonathan.nix
];
programs = {
# Setup ZSH to use grml config
@ -11,15 +22,16 @@
interactiveShellInit = ''
source "${pkgs.grml-zsh-config}/etc/zsh/zshrc"
export FZF_DEFAULT_COMMAND="${pkgs.ripgrep}/bin/rg --files --follow"
source "${pkgs.fzf}/share/fzf/key-bindings.zsh"
source "${pkgs.fzf}/share/fzf/completion.zsh"
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_CTRL_R_COMMAND="$FZF_DEFAULT_COMMAND"
eval "$(${pkgs.zoxide}/bin/zoxide init zsh)"
eval "$(${pkgs.fzf}/bin/fzf --zsh)"
export TEMPDIRS="$HOME/tmp"
source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh"
'';
# otherwise it'll override the grml prompt
promptInit = "";
# promptInit = lib.mkDefault "";
};
# Install Neovim and set it as alias for vi(m)
@ -39,8 +51,7 @@
# Configure the root account
users.extraUsers.root = {
# Allow my SSH keys for logging in as root.
openssh.authorizedKeys.keys =
config.users.extraUsers.vivian.openssh.authorizedKeys.keys;
openssh.authorizedKeys.keys = config.users.extraUsers.vivian.openssh.authorizedKeys.keys;
# Also use zsh for root
shell = pkgs.zsh;
};
@ -57,6 +68,9 @@
ripgrep
rsync
zoxide
# Terminfo
pkgs.kitty.terminfo
];
programs.tmux = {

View File

@ -132,11 +132,11 @@
]
},
"locked": {
"lastModified": 1711099426,
"narHash": "sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk=",
"lastModified": 1713532798,
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
"owner": "numtide",
"repo": "devshell",
"rev": "2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8",
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
"type": "github"
},
"original": {
@ -321,11 +321,11 @@
]
},
"locked": {
"lastModified": 1709336216,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
@ -631,11 +631,11 @@
]
},
"locked": {
"lastModified": 1712093955,
"narHash": "sha256-94I0sXz6fiVBvUAk2tg6t3UpM5rOImj4JTSTNFbg64s=",
"lastModified": 1713906585,
"narHash": "sha256-fv84DCOkBtjF6wMATt0rfovu7e95L8rdEkSfNbwKR3U=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "80546b220e95a575c66c213af1b09fe255299438",
"rev": "bfa7c06436771e3a0c666ccc6ee01e815d4c33aa",
"type": "github"
},
"original": {
@ -652,11 +652,11 @@
]
},
"locked": {
"lastModified": 1711625603,
"narHash": "sha256-W+9dfqA9bqUIBV5u7jaIARAzMe3kTq/Hp2SpSVXKRQw=",
"lastModified": 1713732794,
"narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2",
"rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e",
"type": "github"
},
"original": {
@ -678,11 +678,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1711442573,
"narHash": "sha256-/A3YzcY5erYOPojp5Ffwgxv4X5MTnRiWwuaXfgXbK2g=",
"lastModified": 1713369831,
"narHash": "sha256-G4OGxvlIIjphpkxcRAkf1QInYsAeqbfNh6Yl1JLy2uM=",
"owner": "nix-community",
"repo": "lanzaboote",
"rev": "df7ac26bd24fac8baa94d60a02c3e0f0d4d16368",
"rev": "850f27322239f8cfa56b122cc9a278ab99a49015",
"type": "github"
},
"original": {
@ -717,11 +717,11 @@
"utils": "utils_2"
},
"locked": {
"lastModified": 1710449465,
"narHash": "sha256-2orO8nfplp6uQJBFqKkj1iyNMC6TysmwbWwbb4osTag=",
"lastModified": 1713012165,
"narHash": "sha256-z/soXKDnz+w4Nw0LkRaM73YqolhSmIYy6cpg1F2ps8I=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "79c8cfcd5873a85559da6201b116fb38b490d030",
"rev": "9f6635a0351c190179dc6904545f950108a23dd8",
"type": "gitlab"
},
"original": {
@ -737,11 +737,11 @@
"spectrum": "spectrum"
},
"locked": {
"lastModified": 1711753492,
"narHash": "sha256-lLlXQBebD6wd2m7vjXg2zQ8tfJF2a70RL+zXdbaQqn0=",
"lastModified": 1713463636,
"narHash": "sha256-IPdnR0Rs7XoffnCn6rExYDlft/GHD/UFgQ11lTVEK48=",
"owner": "astro",
"repo": "microvm.nix",
"rev": "1b7c70b198554d0f0306ec153c94906623437aed",
"rev": "6a4f822a817180be03fcdceb654088d002c9ec5e",
"type": "github"
},
"original": {
@ -777,11 +777,11 @@
]
},
"locked": {
"lastModified": 1711763326,
"narHash": "sha256-sXcesZWKXFlEQ8oyGHnfk4xc9f2Ip0X/+YZOq3sKviI=",
"lastModified": 1713543876,
"narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "36524adc31566655f2f4d55ad6b875fb5c1a4083",
"rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed",
"type": "github"
},
"original": {
@ -792,11 +792,11 @@
},
"nixlib": {
"locked": {
"lastModified": 1711846064,
"narHash": "sha256-cqfX0QJNEnge3a77VnytM0Q6QZZ0DziFXt6tSCV8ZSc=",
"lastModified": 1712450863,
"narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "90b1a963ff84dc532db92f678296ff2499a60a87",
"rev": "3c62b6a12571c9a7f65ab037173ee153d539905f",
"type": "github"
},
"original": {
@ -813,11 +813,11 @@
]
},
"locked": {
"lastModified": 1711932680,
"narHash": "sha256-CEpVtyB7uyRprTuiG+lpWWMvM/C0CbY/dbBuxT5BDwM=",
"lastModified": 1713783234,
"narHash": "sha256-3yh0nqI1avYUmmtqqTW3EVfwaLE+9ytRWxsA5aWtmyI=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "1f4c32ca4295bb7cca1e48a2f39b65490b249b0b",
"rev": "722b512eb7e6915882f39fff0e4c9dd44f42b77e",
"type": "github"
},
"original": {
@ -828,11 +828,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1711352745,
"narHash": "sha256-luvqik+i3HTvCbXQZgB6uggvEcxI9uae0nmrgtXJ17U=",
"lastModified": 1713864415,
"narHash": "sha256-/BPDMJEkrsFAFOsQWhwm31wezlgshPFlLBn34KEUdVA=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "9a763a7acc4cfbb8603bb0231fec3eda864f81c0",
"rev": "797f8d8082c7cc3259cba7275c699d4991b09ecc",
"type": "github"
},
"original": {
@ -939,26 +939,26 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1712047400,
"narHash": "sha256-P1ddj7Anx1zQXyn1RqLcleA3ZL/8cmewWjdm2nR7mc8=",
"lastModified": 1713714899,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "43f956227e7bbcb11aa54ce1294f6b5bdf6c8fad",
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-unstable-small",
"ref": "nixos-unstable",
"type": "indirect"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1711703276,
"narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=",
"lastModified": 1713714899,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d8fe5e6c92d0d190646fb9f1056741a229980089",
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932",
"type": "github"
},
"original": {
@ -1011,11 +1011,11 @@
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1712057047,
"narHash": "sha256-o5KSQO82/sCgaaSsZONTeb+P47MXo0bbp+eID9I0CwI=",
"lastModified": 1713939051,
"narHash": "sha256-EwDbsFjpXANXd2MIvRm4Bz2CDNWIhlV/659xOAxhEv0=",
"owner": "pta2002",
"repo": "nixvim",
"rev": "7baefc8aa587931827797db7fbd55a733179dc79",
"rev": "f2f97d844bb39559f3356e209b49c92900d860b8",
"type": "github"
},
"original": {
@ -1026,11 +1026,11 @@
},
"nur": {
"locked": {
"lastModified": 1712127152,
"narHash": "sha256-LPFdS9oxJfLsIPn3/59p/n43EgUV3InMZdhlhmMg8WI=",
"lastModified": 1713947685,
"narHash": "sha256-8faxXE53zBQmr5lsVZvT9Vh8CW7dNSwphIasPP4S1UI=",
"owner": "nix-community",
"repo": "NUR",
"rev": "9d71b5e8ad6127de490d4715170ce32e767f2d0f",
"rev": "a5a62f60303597824baa29266ebf218de266d3d5",
"type": "github"
},
"original": {
@ -1054,11 +1054,11 @@
]
},
"locked": {
"lastModified": 1711760932,
"narHash": "sha256-DqUTQ2iAAqSDwMhKBqvi24v0Oc7pD3LCK/0FCG//TdA=",
"lastModified": 1713775815,
"narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "c11e43aed6f17336c25cd120eac886b96c455731",
"rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4",
"type": "github"
},
"original": {

View File

@ -5,7 +5,7 @@
# * https://github.com/Infinidoge/nix-minecraft
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable-small";
nixpkgs.url = "nixpkgs/nixos-unstable";
flake-utils-plus.url = "github:gytis-ivaskevicius/flake-utils-plus/v1.4.0";
nur.url = "github:nix-community/NUR";
colmena.url = "github:zhaofengli/colmena";

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

View File

@ -1,5 +1,5 @@
# nix-build -E 'with import <nixpkgs> {}; callPackage ./default.nix {}'
_final: prev: {
final: prev: {
v = {
glitch-soc = prev.callPackage ./glitch-soc { };
@ -22,6 +22,7 @@ _final: prev: {
prev.callPackage ./vscode-extensions/platformio.nix { };
};
hyprland-workspaces = prev.callPackage ./hyprland-workspaces { };
};
plex-plexpass = prev.callPackage ./plex-pass { };

View File

@ -0,0 +1,20 @@
{ rustPlatform, lib, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "hyprland-workspaces";
version = "2.0.0";
src = fetchFromGitHub {
owner = "FieldofClay";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4QGLTimIpx74gWUyHCheUZZT1WgVzBoJRY8OlUDdOh4=";
};
cargoSha256 = "sha256-9ndP0nyRBCdOGth4UWA263IvjbgnVW2x9PK8oTaMrxg=";
meta = with lib; {
description = "A multi-monitor aware Hyprland workspace widget";
license = licenses.mit;
platforms = platforms.linux;
};
}