mirror of
https://github.com/kmein/niveum
synced 2026-03-16 10:11:08 +01:00
Compare commits
9 Commits
be0a9620a4
...
b4f8503c16
| Author | SHA1 | Date | |
|---|---|---|---|
| b4f8503c16 | |||
| 30e54f5e4e | |||
| e5d2bda7ad | |||
| 98e9083763 | |||
| ea61c3024a | |||
| c5379bf926 | |||
| 31a6cb384e | |||
| fdff04c94b | |||
| 69e752bb6b |
@@ -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}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -185,6 +185,7 @@ in
|
||||
nix-prefetch-git
|
||||
nix-git
|
||||
nixfmt-rfc-style
|
||||
comma
|
||||
par
|
||||
qrencode
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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
1241
flake.lock
generated
File diff suppressed because it is too large
Load Diff
66
flake.nix
66
flake.nix
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user