18 Commits

Author SHA1 Message Date
f601854156 magpie/gitea: add typst syntax higlight 2024-12-05 11:06:43 +01:00
09bf9a3b17 flake: update nvim 2024-12-04 16:36:26 +01:00
0b069d7277 home/git: set defaultbranch to master 2024-12-04 15:22:01 +01:00
e3673902e2 home_packages: add typst 2024-12-03 23:13:07 +01:00
a9f02a8462 magpie/gitea: use unix socket for local connection 2024-12-03 16:02:53 +01:00
3f5747d8e0 nixy/fonts: update and add more fonts 2024-12-03 16:01:21 +01:00
da2c2dcd8c nixy/avahi: enable service 2024-12-03 16:01:05 +01:00
fca1cd048e home/zsh: add pay-respects alias; remove fast_syntax_highlight plugin 2024-12-03 15:59:57 +01:00
d1f26e838d home_packages: add sbcl, pay-respects; libreoffice -> libreoffice-qt6-fresh 2024-12-02 22:20:12 +01:00
5440679d16 switch nixpkgs to 24.11 2024-12-02 22:16:51 +01:00
fa1392dce8 home_packages: add weechat 2024-11-11 16:20:56 +01:00
0751e0ac30 nixy/fonts: noto-fonts-cjk -> noto-fonts-cjk-sans 2024-11-07 12:33:55 +01:00
a2cf986bc4 nixy/virtualisation: enable spice usb redirection 2024-11-07 12:33:17 +01:00
0a95372a68 nixy: iproute -> iproute2 2024-11-05 17:19:40 +01:00
ecf5065588 home_packages: add tectonic 2024-10-29 17:40:27 +01:00
bb6f0ab772 env/firejail: add qutebrowser.local profile 2024-10-15 04:20:40 +02:00
90f939e056 home/sway: bin/<name> -> lib.getExe 2024-10-15 04:16:58 +02:00
8740cc57fe home/sway: add tessen shortcut 2024-10-15 04:03:50 +02:00
8 changed files with 86 additions and 60 deletions

54
flake.lock generated
View File

@@ -19,11 +19,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1732722421,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -89,11 +89,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727246346, "lastModified": 1730016908,
"narHash": "sha256-TcUaKtya339Asu+g6KTJ8h7KiKcKXKp2V+At+7tksyY=", "narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1e22ef1518fb175d762006f9cae7f6312b8caedb", "rev": "e83414058edd339148dc142a8437edb9450574c8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -110,11 +110,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1699035130, "lastModified": 1732892167,
"narHash": "sha256-emK4aJCC2gW94b2P3N2LjkQ6PEMLUcDduVWwYQ7aq+o=", "narHash": "sha256-AZ0rgM9xj+Bf2C8RfGMUvuVdcqkvQU5/Wm8u6A5xYJg=",
"owner": "asmir.abdulahovic", "owner": "asmir.abdulahovic",
"repo": "nix-xilinx", "repo": "nix-xilinx",
"rev": "0323990db46c32e361e4fd70600d859eb90862af", "rev": "3071f40914fe2db3837a40a72a97af6f0a442f16",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@@ -125,16 +125,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1726937504, "lastModified": 1732981179,
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9357f4f23713673f310988025d9dc261c20e70c6", "rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -156,11 +156,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1725762081, "lastModified": 1729973466,
"narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=", "narHash": "sha256-knnVBGfTCZlQgxY1SgH0vn2OyehH9ykfF8geZgS95bk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05", "rev": "cd3e8833d70618c4eea8df06f95b364b016d4950",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -177,11 +177,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727275335, "lastModified": 1733261583,
"narHash": "sha256-LNzRI4RhK26Ql3k2leNOemD3rTJcaw7tftoANe9BDY8=", "narHash": "sha256-HOVUtrhtJ16umPuEODuVE9fx+JmDCRp7wIxnEART0Eg=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "9f36693f90e4dcbb9a18728d7a7c0d864903d4ea", "rev": "a09a34997ce692c7a2e8e434b44433156a73088c",
"revCount": 35, "revCount": 38,
"type": "git", "type": "git",
"url": "https://git.project-cloud.net/asmir/nvim_flake" "url": "https://git.project-cloud.net/asmir/nvim_flake"
}, },
@@ -221,11 +221,11 @@
"theme_deepthought": "theme_deepthought" "theme_deepthought": "theme_deepthought"
}, },
"locked": { "locked": {
"lastModified": 1705870326, "lastModified": 1729077289,
"narHash": "sha256-ojdGSeqztnnGMyLKjnSCGq0muGh3U+Zb9iwzaaDsaF4=", "narHash": "sha256-z5LEPxOJq2LjhPhY4QE1IOt0lBD39cipR6Lw8vRTNlI=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "ad6af66a6142279789db8967b285eb04c6d18c02", "rev": "eab712e42139d33911ba767c2ff1bfbdf05c254d",
"revCount": 26, "revCount": 27,
"type": "git", "type": "git",
"url": "https://git.project-cloud.net/asmir/project-cloud" "url": "https://git.project-cloud.net/asmir/project-cloud"
}, },
@@ -279,11 +279,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1726524647, "lastModified": 1729999681,
"narHash": "sha256-qis6BtOOBBEAfUl7FMHqqTwRLB61OL5OFzIsOmRz2J4=", "narHash": "sha256-qm0uCtM9bg97LeJTKQ8dqV/FvqRN+ompyW4GIJruLuw=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e2d404a7ea599a013189aa42947f66cede0645c8", "rev": "1666d16426abe79af5c47b7c0efa82fd31bf4c56",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -2,7 +2,7 @@
description = "NixOS configuration"; description = "NixOS configuration";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nix-xilinx = { nix-xilinx = {
url = "gitlab:asmir.abdulahovic/nix-xilinx"; url = "gitlab:asmir.abdulahovic/nix-xilinx";

View File

@@ -182,6 +182,7 @@ in {
userName = "Asmir A"; userName = "Asmir A";
userEmail = "asmir.abdulahovic@gmail.com"; userEmail = "asmir.abdulahovic@gmail.com";
extraConfig = { extraConfig = {
init.defaultBranch = "master";
pull = {rebase = true;}; pull = {rebase = true;};
credential = {helper = "store";}; credential = {helper = "store";};
}; };

View File

@@ -87,7 +87,7 @@ in {
kodi-wayland kodi-wayland
krita krita
libnotify libnotify
libreoffice libreoffice-qt6-fresh
libva-utils libva-utils
linuxPackages_latest.perf linuxPackages_latest.perf
lsix lsix
@@ -110,6 +110,7 @@ in {
pass-wayland pass-wayland
patchelf patchelf
pavucontrol pavucontrol
pay-respects
pirate-get pirate-get
poppler_utils poppler_utils
powertop powertop
@@ -120,6 +121,7 @@ in {
remmina remmina
river river
rtorrent rtorrent
sbcl
screen screen
seer seer
sioyek sioyek
@@ -130,12 +132,15 @@ in {
swayimg swayimg
tea tea
teams-for-linux teams-for-linux
tectonic
tessen tessen
texlive.combined.scheme-full texlive.combined.scheme-full
thunderbird thunderbird
typst
upx upx
waybar waybar
wdisplays wdisplays
weechat
whatsapp-for-linux whatsapp-for-linux
wine wine
wireshark wireshark

View File

@@ -3,17 +3,18 @@
pkgs, pkgs,
inputs, inputs,
system, system,
lib,
... ...
}: let }: let
cliphist_sway = pkgs.writeShellScriptBin "cliphist_sway" '' cliphist_sway = pkgs.writeShellScriptBin "cliphist_sway" ''
${pkgs.cliphist}/bin/cliphist list | \ ${lib.getExe pkgs.cliphist} list | \
${pkgs.wofi}/bin/wofi --dmenu --insensitive | \ ${lib.getExe pkgs.wofi} --dmenu --insensitive | \
${pkgs.cliphist}/bin/cliphist decode | \ ${lib.getExe pkgs.cliphist} decode | \
${pkgs.wl-clipboard}/bin/wl-copy ${pkgs.wl-clipboard}/bin/wl-copy
''; '';
screenshot_clip = pkgs.writeShellScriptBin "screenshot_clip" '' screenshot_clip = pkgs.writeShellScriptBin "screenshot_clip" ''
GEOM="$(${pkgs.slurp}/bin/slurp -d)" GEOM="$(${lib.getExe pkgs.slurp} -d)"
${pkgs.grim}/bin/grim -g "$GEOM" - | ${pkgs.wl-clipboard}/bin/wl-copy ${lib.getExe pkgs.grim} -g "$GEOM" - | ${pkgs.wl-clipboard}/bin/wl-copy
''; '';
swaysw = inputs.swaysw.packages.${system}.swaysw; swaysw = inputs.swaysw.packages.${system}.swaysw;
viber = pkgs.callPackage ../packages/viber/default.nix {}; viber = pkgs.callPackage ../packages/viber/default.nix {};
@@ -22,7 +23,7 @@ in {
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
extraSessionCommands = ""; extraSessionCommands = "";
extraConfigEarly = '' ''; extraConfigEarly = '''';
config = { config = {
fonts = { fonts = {
@@ -74,7 +75,7 @@ in {
style = "Bold Semi-Condensed"; style = "Bold Semi-Condensed";
size = 12.0; size = 12.0;
}; };
statusCommand = "${pkgs.i3status-rust}/bin/i3status-rs ~/.config/i3status-rust/config-top.toml"; statusCommand = "${lib.getExe pkgs.i3status-rust} ~/.config/i3status-rust/config-top.toml";
} }
]; ];
@@ -125,11 +126,12 @@ in {
"Alt+bracketleft" = "focus output left"; "Alt+bracketleft" = "focus output left";
"Mod4+l" = '' "Mod4+l" = ''
exec ${pkgs.sway}/bin/swaymsg [app_id="python3"] scratchpad show || exec ${term} -a python3 ${pkgs.python3}/bin/python3''; exec ${pkgs.sway}/bin/swaymsg [app_id="python3"] scratchpad show || exec ${term} -a python3 ${lib.getExe pkgs.python3}'';
"Mod4+h" = "exec ${pkgs.sway}/bin/swaymsg [app_id=com.rtosta.zapzap] scratchpad show || exec ${pkgs.zapzap}/bin/zapzap"; "Mod4+h" = "exec ${pkgs.sway}/bin/swaymsg [app_id=com.rtosta.zapzap] scratchpad show || exec ${lib.getExe pkgs.zapzap}";
"Mod4+j" = "exec ${pkgs.sway}/bin/swaymsg [app_id=com.viber] scratchpad show || exec ${viber}/bin/viber"; "Mod4+j" = "exec ${pkgs.sway}/bin/swaymsg [app_id=com.viber] scratchpad show || exec ${viber}/bin/viber";
"Mod4+y" = '' "Mod4+y" = ''
exec ${pkgs.sway}/bin/swaymsg [app_id="pulsemixer"] scratchpad show || exec ${term} -a pulsemixer ${pkgs.pulsemixer}/bin/pulsemixer''; exec ${pkgs.sway}/bin/swaymsg [app_id="pulsemixer"] scratchpad show || exec ${term} -a pulsemixer ${lib.getExe pkgs.pulsemixer}'';
"Mod4+p" = "exec ${lib.getExe pkgs.tessen} -a copy";
}; };
}; };
}; };

View File

@@ -17,6 +17,7 @@
cp = "cp -v"; cp = "cp -v";
rm = "rm -v"; rm = "rm -v";
ip = "ip --color=auto"; ip = "ip --color=auto";
f = "''$(pay-respects zsh)";
}; };
history = { history = {
@@ -37,11 +38,6 @@
src = pkgs.nix-zsh-completions; src = pkgs.nix-zsh-completions;
file = "share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh"; file = "share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh";
} }
{
name = "fast_syntax_highlight";
src = pkgs.zsh-fast-syntax-highlighting;
file = "share/zsh/site-functions/fast-syntax-highlighting.plugin.zsh";
}
{ {
name = "pure_prompt"; name = "pure_prompt";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {

View File

@@ -194,7 +194,7 @@
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
locations."/" = { locations."/" = {
proxyPass = "http://localhost:${toString config.services.gitea.settings.server.HTTP_PORT}"; proxyPass = "http://unix:${toString config.services.gitea.settings.server.HTTP_ADDR}";
}; };
}; };
@@ -222,6 +222,7 @@
DISABLE_SSH = true; DISABLE_SSH = true;
HTTP_PORT = 3001; HTTP_PORT = 3001;
LANDING_PAGE = "explore"; LANDING_PAGE = "explore";
PROTOCOL = "http+unix";
}; };
settings.mailer = { settings.mailer = {
ENABLED = true; ENABLED = true;
@@ -244,6 +245,13 @@
RENDER_COMMAND = "${docutils}/bin/rst2html.py"; RENDER_COMMAND = "${docutils}/bin/rst2html.py";
IS_INPUT_FILE = false; IS_INPUT_FILE = false;
}; };
settings."markup.typst" = {
ENABLED = true;
FILE_EXTENSIONS = ".typ";
RENDER_COMMAND = "timeout 30s ${lib.getExe pkgs.python3Packages.pygments} -f html -O full";
IS_INPUT_FILE = false;
};
}; };
services.nfs.server.enable = false; services.nfs.server.enable = false;

View File

@@ -177,6 +177,11 @@
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [nix-xilinx.overlay nvim.overlays.${system}.overlay]; nixpkgs.overlays = [nix-xilinx.overlay nvim.overlays.${system}.overlay];
environment = { environment = {
etc = {
"firejail/qutebrowser.local".text = ''
whitelist ''${RUNUSER}/qutebrowser
'';
};
extraInit = '' extraInit = ''
unset -v SSH_ASKPASS unset -v SSH_ASKPASS
''; '';
@@ -233,8 +238,8 @@
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
ExecStart = "${pkgs.iproute}/bin/ip netns add %I"; ExecStart = "${pkgs.iproute2}/bin/ip netns add %I";
ExecStop = "${pkgs.iproute}/bin/ip netns del %I"; ExecStop = "${pkgs.iproute2}/bin/ip netns del %I";
}; };
}; };
@@ -251,23 +256,23 @@
ExecStart = pkgs.writers.writeBash "wg-up" '' ExecStart = pkgs.writers.writeBash "wg-up" ''
set -e set -e
ENDPOINT_IP=$(${pkgs.coreutils-full}/bin/cat "${config.sops.secrets."wg_endpoint_proton".path}") ENDPOINT_IP=$(${pkgs.coreutils-full}/bin/cat "${config.sops.secrets."wg_endpoint_proton".path}")
${pkgs.iproute}/bin/ip link add proton_wg type wireguard ${pkgs.iproute2}/bin/ip link add proton_wg type wireguard
${pkgs.iproute}/bin/ip link set proton_wg netns wg ${pkgs.iproute2}/bin/ip link set proton_wg netns wg
${pkgs.iproute}/bin/ip -n wg address add 10.2.0.2/32 dev proton_wg ${pkgs.iproute2}/bin/ip -n wg address add 10.2.0.2/32 dev proton_wg
${pkgs.iproute}/bin/ip netns exec wg \ ${pkgs.iproute2}/bin/ip netns exec wg \
${pkgs.wireguard-tools}/bin/wg set "proton_wg" private-key "${config.sops.secrets."wg_privkey_proton".path}" ${pkgs.wireguard-tools}/bin/wg set "proton_wg" private-key "${config.sops.secrets."wg_privkey_proton".path}"
${pkgs.iproute}/bin/ip netns exec wg \ ${pkgs.iproute2}/bin/ip netns exec wg \
${pkgs.wireguard-tools}/bin/wg set "proton_wg" peer "g6DkXWKI/68RsLjROIwCEcyB/ZhyK5Q7OWcz1TtqER0=" \ ${pkgs.wireguard-tools}/bin/wg set "proton_wg" peer "g6DkXWKI/68RsLjROIwCEcyB/ZhyK5Q7OWcz1TtqER0=" \
endpoint "$ENDPOINT_IP:51820" \ endpoint "$ENDPOINT_IP:51820" \
persistent-keepalive "25" \ persistent-keepalive "25" \
allowed-ips "0.0.0.0/0" allowed-ips "0.0.0.0/0"
${pkgs.iproute}/bin/ip -n wg link set lo up ${pkgs.iproute2}/bin/ip -n wg link set lo up
${pkgs.iproute}/bin/ip -n wg link set proton_wg up ${pkgs.iproute2}/bin/ip -n wg link set proton_wg up
${pkgs.iproute}/bin/ip -n wg route add default dev proton_wg ${pkgs.iproute2}/bin/ip -n wg route add default dev proton_wg
''; '';
ExecStop = pkgs.writers.writeBash "wg-down" '' ExecStop = pkgs.writers.writeBash "wg-down" ''
${pkgs.iproute}/bin/ip -n wg route del default dev proton_wg ${pkgs.iproute2}/bin/ip -n wg route del default dev proton_wg
${pkgs.iproute}/bin/ip -n wg link del proton_wg ${pkgs.iproute2}/bin/ip -n wg link del proton_wg
''; '';
}; };
}; };
@@ -347,6 +352,12 @@
pulse.enable = true; pulse.enable = true;
}; };
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
libinput.enable = true; libinput.enable = true;
xserver = { xserver = {
enable = true; enable = true;
@@ -516,24 +527,27 @@
dina-font dina-font
fira-code fira-code
fira-code-symbols fira-code-symbols
font-awesome font-awesome_6
font-awesome_4
inconsolata inconsolata
iosevka iosevka
jetbrains-mono jetbrains-mono
liberation_ttf liberation_ttf
libertine
noto-fonts noto-fonts
noto-fonts-cjk noto-fonts-cjk-sans
noto-fonts-color-emoji
noto-fonts-emoji noto-fonts-emoji
proggyfonts proggyfonts
siji siji
terminus_font terminus_font
terminus_font_ttf terminus_font_ttf
ubuntu_font_family ubuntu_font_family
vistafonts
]; ];
}; };
virtualisation = { virtualisation = {
spiceUSBRedirection.enable = true;
containers.storage.settings = { containers.storage.settings = {
storage = { storage = {
graphroot = "/var/lib/containers/storage"; graphroot = "/var/lib/containers/storage";