1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00

9 Commits

Author SHA1 Message Date
b4f8503c16 use more lib.getExe 2025-12-29 21:05:02 +01:00
30e54f5e4e comma 2025-12-29 17:56:07 +01:00
e5d2bda7ad clean up flake.lock 2025-12-29 17:54:39 +01:00
98e9083763 nix-topology 2025-12-29 16:31:56 +01:00
ea61c3024a flake: remove empty lib 2025-12-29 16:21:49 +01:00
c5379bf926 nixos-hardware 2025-12-29 16:21:35 +01:00
31a6cb384e i3: remove old keybinds 2025-12-29 16:20:26 +01:00
fdff04c94b format 2025-12-29 15:26:13 +01:00
69e752bb6b flake: document ControlPath=none 2025-12-29 15:23:53 +01:00
7 changed files with 226 additions and 1142 deletions

View File

@@ -249,10 +249,10 @@ in
"${modifier}+d" =
"exec ${pkgs.writers.writeDash "run" ''exec rofi -modi run,ssh,window -show run''}";
"${modifier}+Shift+d" = "exec ${pkgs.notemenu}/bin/notemenu";
"${modifier}+Shift+d" = "exec ${lib.getExe pkgs.notemenu}";
"${modifier}+p" = "exec rofi-pass";
"${modifier}+Shift+p" = "exec rofi-pass --insert";
"${modifier}+u" = "exec ${pkgs.unicodmenu}/bin/unicodmenu";
"${modifier}+u" = "exec ${lib.getExe pkgs.unicodmenu}";
"${modifier}+Shift+u" =
"exec ${pkgs.writers.writeDash "last-unicode" ''${pkgs.xdotool}/bin/xdotool type --delay 1000 "$(${pkgs.gawk}/bin/awk 'END{print $1}' ~/.cache/unicodmenu)"''}";
@@ -264,15 +264,15 @@ in
fi
''}";
"${modifier}+F12" = "exec ${klem}/bin/klem";
"XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -d 5";
"XF86AudioMute" = "exec ${pkgs.pamixer}/bin/pamixer -t";
"XF86AudioLowerVolume" = "exec ${lib.getExe pkgs.pamixer} -d 5";
"XF86AudioMute" = "exec ${lib.getExe pkgs.pamixer} -t";
"XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -i 5";
"XF86Calculator" = "exec ${pkgs.st}/bin/st -c floating -e ${pkgs.bc}/bin/bc";
"XF86AudioPause" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause";
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop";
"XF86Calculator" = "exec ${lib.getExe pkgs.st} -c floating -e ${pkgs.bc}/bin/bc";
"XF86AudioPause" = "exec ${lib.getExe pkgs.playerctl} play-pause";
"XF86AudioPlay" = "exec ${lib.getExe pkgs.playerctl} play-pause";
"XF86AudioNext" = "exec ${lib.getExe pkgs.playerctl} next";
"XF86AudioPrev" = "exec ${lib.getExe pkgs.playerctl} previous";
"XF86AudioStop" = "exec ${lib.getExe pkgs.playerctl} stop";
# key names detected with xorg.xev:
# XF86WakeUp (fn twice)
@@ -297,12 +297,12 @@ in
extraConfig = ''
bindsym --release ${modifier}+Shift+w exec xsecurelock
exec "${pkgs.obsidian}/bin/obsidian"
exec "${lib.getExe pkgs.obsidian}"
for_window [class="obsidian"] , move scratchpad
assign [class="message"] ${messageWorkspace}
exec "${pkgs.writers.writeDash "irc" "exec ${pkgs.alacritty}/bin/alacritty --class message -e ssh weechat@makanek -t tmux attach-session -t IM"}"
exec "${pkgs.writers.writeDash "email" "exec ${pkgs.alacritty}/bin/alacritty --class message -e aerc"}"
exec "${pkgs.writers.writeDash "irc" "exec ${lib.getExe pkgs.alacritty} --class message -e ssh weechat@makanek -t tmux attach-session -t IM"}"
exec "${pkgs.writers.writeDash "email" "exec ${lib.getExe pkgs.alacritty} --class message -e aerc"}"
exec --no-startup-id ${pkgs.xss-lock}/bin/xss-lock -- xsecurelock
'';
@@ -317,14 +317,12 @@ in
colors
;
keybindings = keybindings // {
"${modifier}+F6" = "exec ${pkgs.xorg.xkill}/bin/xkill";
"${modifier}+F9" = "exec ${pkgs.redshift}/bin/redshift -O 4000 -b 0.85";
"${modifier}+F10" = "exec ${pkgs.redshift}/bin/redshift -x";
"${modifier}+F11" = "exec ${pkgs.xcalib}/bin/xcalib -invert -alter";
"Print" = "exec flameshot gui";
# "${modifier}+Shift+x" = "exec ${move-to-new-workspace}";
# "${modifier}+x" = "exec ${new-workspace}";
"XF86Display" = "exec ${pkgs.dmenu-randr}/bin/dmenu-randr";
"XF86Display" = "exec ${lib.getExe pkgs.dmenu-randr}";
};
};
};

View File

@@ -185,6 +185,7 @@ in
nix-prefetch-git
nix-git
nixfmt-rfc-style
comma
par
qrencode

View File

@@ -152,7 +152,6 @@ let
};
};
coptic = {
dictionary = pkgs.coptic-stardict;
Crum = pkgs.fetchzip {
url = locker "stardict-Coptic-English_all_dialects-2.4.2.tar.bz2";
sha256 = "1fi281mb9yzv40wjsdapi8fzpa7x2yscz582lv2qnss9g8zzzzr9";

View File

@@ -4,19 +4,9 @@
lib,
...
}:
let
generatedWallpaper = pkgs.runCommand "wallpaper.png" { } ''
${pkgs.wp-gen}/bin/wallpaper-generator lines \
--output $out \
${lib.concatMapStringsSep " " (
n: "--base0${lib.toHexString n}=${config.lib.stylix.colors.withHashtag."base0${lib.toHexString n}"}"
) (lib.range 0 15)}
'';
in
{
# https://danth.github.io/stylix/tricks.html
stylix.enable = true;
stylix.image = generatedWallpaper;
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml";

View File

@@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
let
sshPort = pkgs.lib.niveum.machines.${config.networking.hostName}.sshPort;
in
@@ -13,11 +18,13 @@ in
services.tor.relay.onionServices = {
"ssh" = {
version = 3;
map = [{
port = sshPort;
target.port = sshPort;
target.addr = "127.0.0.1";
}];
map = [
{
port = sshPort;
target.port = sshPort;
target.addr = "127.0.0.1";
}
];
};
};
}

1241
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -6,16 +6,14 @@
agenix.url = "github:ryantm/agenix";
autorenkalender.url = "github:kmein/autorenkalender";
coptic-dictionary.url = "github:kmein/coptic-dictionary";
home-manager.url = "github:nix-community/home-manager/release-25.11";
menstruation-backend.url = "github:kmein/menstruation.rs";
menstruation-telegram.url = "github:kmein/menstruation-telegram";
nix-index-database.url = "github:nix-community/nix-index-database";
nixpkgs-old.url = "github:NixOS/nixpkgs/50fc86b75d2744e1ab3837ef74b53f103a9b55a0";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/master";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixos-hardware.url = "github:NixOS/nixos-hardware";
nur.url = "github:nix-community/NUR";
recht.url = "github:kmein/recht";
retiolum.url = "github:krebs/retiolum";
scripts.url = "github:kmein/scripts";
stockholm.url = "github:krebs/stockholm";
@@ -24,43 +22,60 @@
tinc-graph.url = "github:kmein/tinc-graph";
treefmt-nix.url = "github:numtide/treefmt-nix";
voidrice.url = "github:Lukesmithxyz/voidrice";
wallpaper-generator.url = "github:pinpox/wallpaper-generator/v1.1";
wallpapers.url = "github:kmein/wallpapers";
nix-topology.url = "github:oddlama/nix-topology";
voidrice.flake = false;
wallpapers.flake = false;
naersk.url = "github:nix-community/naersk";
fenix.url = "github:nix-community/fenix";
naersk.inputs.fenix.follows = "fenix";
menstruation-backend.inputs.fenix.follows = "fenix";
tinc-graph.inputs.fenix.follows = "fenix";
scripts.inputs.fenix.follows = "fenix";
tinc-graph.inputs.naersk.follows = "naersk";
scripts.inputs.naersk.follows = "naersk";
menstruation-telegram.inputs.menstruation-backend.follows = "menstruation-backend";
menstruation-telegram.inputs.nixpkgs.follows = "nixpkgs-old";
telebots.inputs.nixpkgs.follows = "nixpkgs-old";
agenix.inputs.home-manager.follows = "home-manager";
agenix.inputs.nixpkgs.follows = "nixpkgs";
autorenkalender.inputs.nixpkgs.follows = "nixpkgs";
coptic-dictionary.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
menstruation-telegram.inputs.menstruation-backend.follows = "menstruation-backend";
menstruation-telegram.inputs.nixpkgs.follows = "nixpkgs-old";
naersk.inputs.nixpkgs.follows = "nixpkgs";
fenix.inputs.nixpkgs.follows = "nixpkgs";
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
nur.inputs.nixpkgs.follows = "nixpkgs";
nix-topology.inputs.nixpkgs.follows = "nixpkgs";
stockholm.inputs.nixpkgs.follows = "nixpkgs";
menstruation-backend.inputs.nixpkgs.follows = "nixpkgs";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
recht.inputs.nixpkgs.follows = "nixpkgs";
scripts.inputs.nixpkgs.follows = "nixpkgs";
stylix.inputs.nixpkgs.follows = "nixpkgs";
tinc-graph.inputs.nixpkgs.follows = "nixpkgs";
voidrice.flake = false;
wallpapers.flake = false;
};
outputs =
{
self,
nixpkgs,
nixpkgs-unstable,
nur,
home-manager,
agenix,
retiolum,
coptic-dictionary,
menstruation-backend,
menstruation-telegram,
scripts,
tinc-graph,
recht,
nix-topology,
nixos-hardware,
treefmt-nix,
autorenkalender,
wallpaper-generator,
telebots,
stockholm,
nix-index-database,
@@ -87,6 +102,7 @@
);
in
{
apps =
let
localSystem = "x86_64-linux";
@@ -128,6 +144,10 @@
# Set SSH options based on address type
if [[ "$reachable" == *.onion ]]; then
# why? ControlPath=none
# SSH is trying to create a control socket with a path that includes
# the full .onion hostname, and Unix domain sockets have a path length
# limit (typically 108 characters). The .onion address is too long.
export NIX_SSHOPTS="-p ${
toString machines.${hostname}.sshPort
} -o ProxyCommand='${pkgs.netcat}/bin/nc -x localhost:9050 %h %p' -o ControlPath=none"
@@ -166,9 +186,6 @@
go-webring = import modules/go-webring.nix;
};
lib = {
};
overlays.default = final: prev: {
niveum-terminal = prev.alacritty;
niveum-browser = prev.firefox;
@@ -253,10 +270,8 @@
telebots = telebots.packages.${prev.stdenv.hostPlatform.system}.telebots;
hesychius = scripts.packages.${prev.stdenv.hostPlatform.system}.hesychius;
autorenkalender = autorenkalender.packages.${prev.stdenv.hostPlatform.system}.default;
coptic-stardict = coptic-dictionary.packages.${prev.stdenv.hostPlatform.system}.coptic-stardict;
onomap = scripts.packages.${prev.stdenv.hostPlatform.system}.onomap;
tinc-graph = tinc-graph.packages.${prev.stdenv.hostPlatform.system}.tinc-graph;
wp-gen = wallpaper-generator.packages.${prev.stdenv.hostPlatform.system}.wp-gen;
# krebs
brainmelter = prev.callPackage packages/brainmelter.nix { };
@@ -310,7 +325,7 @@
tocharian-font = prev.callPackage packages/tocharian-font.nix { };
ttspaste = prev.callPackage packages/ttspaste.nix { };
niveum-ssh = prev.callPackage packages/niveum-ssh.nix { };
try-connect = prev.callPackage packages/try-connect.nix {};
try-connect = prev.callPackage packages/try-connect.nix { };
unicodmenu = prev.callPackage packages/unicodmenu.nix { };
vg = prev.callPackage packages/vg.nix { };
vim-kmein = prev.callPackage packages/vim-kmein { };
@@ -336,6 +351,7 @@
{ nixpkgs.overlays = [ self.overlays.default ]; }
agenix.nixosModules.default
retiolum.nixosModules.retiolum
nix-topology.nixosModules.default
configs/mycelium.nix
configs/tor.nix
configs/retiolum.nix
@@ -432,6 +448,7 @@
++ profiles.desktop
++ [
systems/manakish/configuration.nix
nixos-hardware.nixosModules.lenovo-thinkpad-x230
];
};
kabsa = nixpkgs.lib.nixosSystem {
@@ -441,6 +458,7 @@
++ profiles.desktop
++ [
systems/kabsa/configuration.nix
nixos-hardware.nixosModules.lenovo-thinkpad-x220
];
};
fatteh = nixpkgs.lib.nixosSystem {
@@ -450,6 +468,7 @@
++ profiles.desktop
++ [
systems/fatteh/configuration.nix
nixos-hardware.nixosModules.lenovo-thinkpad-t480
];
};
};
@@ -468,10 +487,17 @@
overlays = [
nur.overlays.default
self.overlays.default
nix-topology.overlays.default
];
};
in
{
topology = import nix-topology {
inherit pkgs;
modules = [
{ nixosConfigurations = self.nixosConfigurations; }
];
};
inherit (pkgs)
auc
betacode