mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-09 04:19:19 -08:00
project-wide: nixdirfmt
This commit is contained in:
parent
2eadee0323
commit
7fd895536a
15 changed files with 232 additions and 203 deletions
|
|
@ -16,9 +16,15 @@
|
||||||
|
|
||||||
secrets.files.kat-glauca-dns = {
|
secrets.files.kat-glauca-dns = {
|
||||||
text = pkgs.lib.deployEmbedFuckery ''
|
text = pkgs.lib.deployEmbedFuckery ''
|
||||||
user="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${../../../private/files/bitw/master.gpg} get infra/hexdns-dynamic -f username)"
|
user="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${
|
||||||
pass="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${../../../private/files/bitw/master.gpg} get infra/hexdns-dynamic -f password)"
|
../../../private/files/bitw/master.gpg
|
||||||
hostname="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${../../../private/files/bitw/master.gpg} get infra/hexdns-dynamic -f hostname)"
|
} get infra/hexdns-dynamic -f username)"
|
||||||
|
pass="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${
|
||||||
|
../../../private/files/bitw/master.gpg
|
||||||
|
} get infra/hexdns-dynamic -f password)"
|
||||||
|
hostname="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${
|
||||||
|
../../../private/files/bitw/master.gpg
|
||||||
|
} get infra/hexdns-dynamic -f hostname)"
|
||||||
'';
|
'';
|
||||||
owner = "kat";
|
owner = "kat";
|
||||||
group = "users";
|
group = "users";
|
||||||
|
|
@ -28,10 +34,8 @@
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = "${pkgs.kat-glauca-dns}/bin/kat-glauca-dns";
|
ExecStart = "${pkgs.kat-glauca-dns}/bin/kat-glauca-dns";
|
||||||
};
|
};
|
||||||
environment = {
|
environment = { passFile = config.secrets.files.kat-glauca-dns.path; };
|
||||||
passFile = config.secrets.files.kat-glauca-dns.path;
|
wantedBy = [ "default.target" ];
|
||||||
};
|
|
||||||
wantedBy = [ "default.target"];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.timers.kat-glauca-dns = {
|
systemd.timers.kat-glauca-dns = {
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ let
|
||||||
<<${if hasPrefix "__FUCKERY__" file.text then "EOF" else "'EOF'"}
|
<<${if hasPrefix "__FUCKERY__" file.text then "EOF" else "'EOF'"}
|
||||||
${removePrefix "__FUCKERY__" file.text}
|
${removePrefix "__FUCKERY__" file.text}
|
||||||
EOF
|
EOF
|
||||||
'')) (attrValues config.secrets.files);
|
'')) (attrValues config.secrets.files);
|
||||||
in {
|
in {
|
||||||
options = {
|
options = {
|
||||||
deploy = {
|
deploy = {
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,15 @@
|
||||||
{ sources, pkgs, curl, coreutils, writeShellScriptBin }:
|
{ sources, pkgs, curl, coreutils, writeShellScriptBin }:
|
||||||
|
|
||||||
let
|
let rbw-bitw = (import sources.arc-nixexprs { inherit pkgs; }).pkgs.rbw-bitw;
|
||||||
rbw-bitw = (import sources.arc-nixexprs { inherit pkgs; }).pkgs.rbw-bitw;
|
|
||||||
in writeShellScriptBin "kat-glauca-dns" ''
|
in writeShellScriptBin "kat-glauca-dns" ''
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
ip4=$(${curl}/bin/curl -s --ipv4 https://dns.glauca.digital/checkip)
|
ip4=$(${curl}/bin/curl -s --ipv4 https://dns.glauca.digital/checkip)
|
||||||
ip6=$(${curl}/bin/curl -s --ipv6 https://dns.glauca.digital/checkip)
|
ip6=$(${curl}/bin/curl -s --ipv6 https://dns.glauca.digital/checkip)
|
||||||
source $passFile
|
source $passFile
|
||||||
echo "$ip4, $ip6"
|
echo "$ip4, $ip6"
|
||||||
${curl}/bin/curl -u ''${user}:''${pass} --data-urlencode "hostname=''${hostname}" --data-urlencode "myip=''${ip4}" "https://dns.glauca.digital/nic/update"
|
${curl}/bin/curl -u ''${user}:''${pass} --data-urlencode "hostname=''${hostname}" --data-urlencode "myip=''${ip4}" "https://dns.glauca.digital/nic/update"
|
||||||
echo ""
|
echo ""
|
||||||
${curl}/bin/curl -u ''${user}:''${pass} --data-urlencode "hostname=''${hostname}" --data-urlencode "myip=''${ip6}" "https://dns.glauca.digital/nic/update"
|
${curl}/bin/curl -u ''${user}:''${pass} --data-urlencode "hostname=''${hostname}" --data-urlencode "myip=''${ip6}" "https://dns.glauca.digital/nic/update"
|
||||||
''
|
''
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
{
|
{ wrapShellScriptBin, pkgs }:
|
||||||
wrapShellScriptBin,
|
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
|
|
||||||
wrapShellScriptBin "kat-gpg-status" ./kat-gpg-status.sh {
|
wrapShellScriptBin "kat-gpg-status" ./kat-gpg-status.sh {
|
||||||
depsRuntimePath = with pkgs; [coreutils gnupg];
|
depsRuntimePath = with pkgs; [ coreutils gnupg ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
{
|
{ wrapShellScriptBin, pkgs }:
|
||||||
wrapShellScriptBin,
|
|
||||||
pkgs
|
|
||||||
}:
|
|
||||||
|
|
||||||
wrapShellScriptBin "kat-scrot" ./kat-scrot.sh {
|
wrapShellScriptBin "kat-scrot" ./kat-scrot.sh {
|
||||||
depsRuntimePath = with pkgs; [coreutils wl-clipboard slurp grim sway jq];
|
depsRuntimePath = with pkgs; [ coreutils wl-clipboard slurp grim sway jq ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,15 +18,11 @@ stdenv.mkDerivation rec {
|
||||||
gemset = ./gemset.nix;
|
gemset = ./gemset.nix;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ bundler ruby jekyll_env ];
|
||||||
bundler
|
|
||||||
ruby
|
|
||||||
jekyll_env
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir $out
|
mkdir $out
|
||||||
${jekyll_env}/bin/jekyll build -d $out
|
${jekyll_env}/bin/jekyll build -d $out
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,296 +1,311 @@
|
||||||
{
|
{
|
||||||
addressable = {
|
addressable = {
|
||||||
dependencies = ["public_suffix"];
|
dependencies = [ "public_suffix" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
|
sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.7.0";
|
version = "2.7.0";
|
||||||
};
|
};
|
||||||
colorator = {
|
colorator = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72";
|
sha256 = "0f7wvpam948cglrciyqd798gdc6z3cfijciavd0dfixgaypmvy72";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.1.0";
|
||||||
};
|
};
|
||||||
concurrent-ruby = {
|
concurrent-ruby = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
|
sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.8";
|
version = "1.1.8";
|
||||||
};
|
};
|
||||||
em-websocket = {
|
em-websocket = {
|
||||||
dependencies = ["eventmachine" "http_parser.rb"];
|
dependencies = [ "eventmachine" "http_parser.rb" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb";
|
sha256 = "1mg1mx735a0k1l8y14ps2mxdwhi5r01ikydf34b0sp60v66nvbkb";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.5.2";
|
version = "0.5.2";
|
||||||
};
|
};
|
||||||
eventmachine = {
|
eventmachine = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
|
sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.2.7";
|
version = "1.2.7";
|
||||||
};
|
};
|
||||||
ffi = {
|
ffi = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
|
sha256 = "15hgiy09i8ywjihyzyvjvk42ivi3kmy6dm21s5sgg9j7y3h3zkkx";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.14.2";
|
version = "1.14.2";
|
||||||
};
|
};
|
||||||
forwardable-extended = {
|
forwardable-extended = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v";
|
sha256 = "15zcqfxfvsnprwm8agia85x64vjzr2w0xn9vxfnxzgcv8s699v0v";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.6.0";
|
version = "2.6.0";
|
||||||
};
|
};
|
||||||
"http_parser.rb" = {
|
"http_parser.rb" = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
|
sha256 = "15nidriy0v5yqfjsgsra51wmknxci2n2grliz78sf9pga3n0l7gi";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.6.0";
|
version = "0.6.0";
|
||||||
};
|
};
|
||||||
i18n = {
|
i18n = {
|
||||||
dependencies = ["concurrent-ruby"];
|
dependencies = [ "concurrent-ruby" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
|
sha256 = "08p6b13p99j1rrcrw1l3v0kb9mxbsvy6nk31r8h4rnszdgzpga32";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.8.9";
|
version = "1.8.9";
|
||||||
};
|
};
|
||||||
jekyll = {
|
jekyll = {
|
||||||
dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
|
dependencies = [
|
||||||
groups = ["default"];
|
"addressable"
|
||||||
platforms = [];
|
"colorator"
|
||||||
|
"em-websocket"
|
||||||
|
"i18n"
|
||||||
|
"jekyll-sass-converter"
|
||||||
|
"jekyll-watch"
|
||||||
|
"kramdown"
|
||||||
|
"kramdown-parser-gfm"
|
||||||
|
"liquid"
|
||||||
|
"mercenary"
|
||||||
|
"pathutil"
|
||||||
|
"rouge"
|
||||||
|
"safe_yaml"
|
||||||
|
"terminal-table"
|
||||||
|
];
|
||||||
|
groups = [ "default" ];
|
||||||
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq";
|
sha256 = "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.2.0";
|
version = "4.2.0";
|
||||||
};
|
};
|
||||||
jekyll-feed = {
|
jekyll-feed = {
|
||||||
dependencies = ["jekyll"];
|
dependencies = [ "jekyll" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1zxqkrnix0xiw98531h5ga6h69jhzlx2jh9qhvcl67p8nq3sgza9";
|
sha256 = "1zxqkrnix0xiw98531h5ga6h69jhzlx2jh9qhvcl67p8nq3sgza9";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.15.1";
|
version = "0.15.1";
|
||||||
};
|
};
|
||||||
jekyll-sass-converter = {
|
jekyll-sass-converter = {
|
||||||
dependencies = ["sassc"];
|
dependencies = [ "sassc" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv";
|
sha256 = "04ncr44wrilz26ayqwlg7379yjnkb29mvx4j04i62b7czmdrc9dv";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.1.0";
|
version = "2.1.0";
|
||||||
};
|
};
|
||||||
jekyll-watch = {
|
jekyll-watch = {
|
||||||
dependencies = ["listen"];
|
dependencies = [ "listen" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w";
|
sha256 = "1qd7hy1kl87fl7l0frw5qbn22x7ayfzlv9a5ca1m59g0ym1ysi5w";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.2.1";
|
version = "2.2.1";
|
||||||
};
|
};
|
||||||
kramdown = {
|
kramdown = {
|
||||||
dependencies = ["rexml"];
|
dependencies = [ "rexml" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
|
sha256 = "1vmw752c26ny2jwl0npn0gbyqwgz4hdmlpxnsld9qi9xhk5b1qh7";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.3.0";
|
version = "2.3.0";
|
||||||
};
|
};
|
||||||
kramdown-parser-gfm = {
|
kramdown-parser-gfm = {
|
||||||
dependencies = ["kramdown"];
|
dependencies = [ "kramdown" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
|
sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.1.0";
|
version = "1.1.0";
|
||||||
};
|
};
|
||||||
liquid = {
|
liquid = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by";
|
sha256 = "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.0.3";
|
version = "4.0.3";
|
||||||
};
|
};
|
||||||
listen = {
|
listen = {
|
||||||
dependencies = ["rb-fsevent" "rb-inotify"];
|
dependencies = [ "rb-fsevent" "rb-inotify" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0imzd0cb9vlkc3yggl4rph1v1wm4z9psgs4z6aqsqa5hgf8gr9hj";
|
sha256 = "0imzd0cb9vlkc3yggl4rph1v1wm4z9psgs4z6aqsqa5hgf8gr9hj";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.4.1";
|
version = "3.4.1";
|
||||||
};
|
};
|
||||||
mercenary = {
|
mercenary = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj";
|
sha256 = "0f2i827w4lmsizrxixsrv2ssa3gk1b7lmqh8brk8ijmdb551wnmj";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.4.0";
|
version = "0.4.0";
|
||||||
};
|
};
|
||||||
pathutil = {
|
pathutil = {
|
||||||
dependencies = ["forwardable-extended"];
|
dependencies = [ "forwardable-extended" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4";
|
sha256 = "12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.16.2";
|
version = "0.16.2";
|
||||||
};
|
};
|
||||||
public_suffix = {
|
public_suffix = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
|
sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "4.0.6";
|
version = "4.0.6";
|
||||||
};
|
};
|
||||||
rb-fsevent = {
|
rb-fsevent = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
|
sha256 = "1k9bsj7ni0g2fd7scyyy1sk9dy2pg9akniahab0iznvjmhn54h87";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.10.4";
|
version = "0.10.4";
|
||||||
};
|
};
|
||||||
rb-inotify = {
|
rb-inotify = {
|
||||||
dependencies = ["ffi"];
|
dependencies = [ "ffi" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
|
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "0.10.1";
|
version = "0.10.1";
|
||||||
};
|
};
|
||||||
rexml = {
|
rexml = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
|
sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.2.4";
|
version = "3.2.4";
|
||||||
};
|
};
|
||||||
rouge = {
|
rouge = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
|
sha256 = "0b4b300i3m4m4kw7w1n9wgxwy16zccnb7271miksyzd0wq5b9pm3";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.26.0";
|
version = "3.26.0";
|
||||||
};
|
};
|
||||||
safe_yaml = {
|
safe_yaml = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56";
|
sha256 = "0j7qv63p0vqcd838i2iy2f76c3dgwzkiz1d1xkg7n0pbnxj2vb56";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.0.5";
|
version = "1.0.5";
|
||||||
};
|
};
|
||||||
sassc = {
|
sassc = {
|
||||||
dependencies = ["ffi"];
|
dependencies = [ "ffi" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c";
|
sha256 = "0gpqv48xhl8mb8qqhcifcp0pixn206a7imc07g48armklfqa4q2c";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.4.0";
|
version = "2.4.0";
|
||||||
};
|
};
|
||||||
terminal-table = {
|
terminal-table = {
|
||||||
dependencies = ["unicode-display_width"];
|
dependencies = [ "unicode-display_width" ];
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "18rbrh464ysqbdv53iwj0r8frshn65566kyj044cp3x9c2754jwh";
|
sha256 = "18rbrh464ysqbdv53iwj0r8frshn65566kyj044cp3x9c2754jwh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "2.0.0";
|
version = "2.0.0";
|
||||||
};
|
};
|
||||||
unicode-display_width = {
|
unicode-display_width = {
|
||||||
groups = ["default"];
|
groups = [ "default" ];
|
||||||
platforms = [];
|
platforms = [ ];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = [ "https://rubygems.org" ];
|
||||||
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
|
sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "1.7.0";
|
version = "1.7.0";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
{ lib, stdenv, fetchurl }:
|
{ lib, stdenv, fetchurl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "title.py";
|
pname = "title.py";
|
||||||
version = "2011-11-15";
|
version = "2011-11-15";
|
||||||
sha256 = "1h8mxpv47q3inhynlfjm3pdjxlr2fl06z4cdhr06kpm8f7xvz56p";
|
sha256 = "1h8mxpv47q3inhynlfjm3pdjxlr2fl06z4cdhr06kpm8f7xvz56p";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
name = pname;
|
name = pname;
|
||||||
url = "https://weechat.org/files/scripts/title.py";
|
url = "https://weechat.org/files/scripts/title.py";
|
||||||
sha256 = sha256;
|
sha256 = sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = "true";
|
unpackPhase = "true";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
install -D $src $out/share/title.py
|
install -D $src $out/share/title.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passthru.scripts = [ pname ];
|
passthru.scripts = [ pname ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,8 @@ in {
|
||||||
avidemux
|
avidemux
|
||||||
gst_all_1.gstreamer.dev
|
gst_all_1.gstreamer.dev
|
||||||
gst_all_1.gstreamer
|
gst_all_1.gstreamer
|
||||||
gst_all_1.gst-plugins-base
|
gst_all_1.gst-plugins-base
|
||||||
gst_all_1.gst-plugins-good
|
gst_all_1.gst-plugins-good
|
||||||
gst_all_1.gst-plugins-bad
|
gst_all_1.gst-plugins-bad
|
||||||
gst_all_1.gst-plugins-ugly
|
gst_all_1.gst-plugins-ugly
|
||||||
vlc
|
vlc
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, ... }: {
|
||||||
config = lib.mkIf config.deploy.profile.gui {
|
config = lib.mkIf config.deploy.profile.gui {
|
||||||
networking = {
|
networking = {
|
||||||
# networkmanager.enable = true;
|
# networkmanager.enable = true;
|
||||||
resolvconf.useLocalResolver = true;
|
resolvconf.useLocalResolver = true;
|
||||||
networkmanager.dns = "none";
|
networkmanager.dns = "none";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,8 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.deploy.profile.kat {
|
config = lib.mkIf config.deploy.profile.kat {
|
||||||
xdg.dataFile = {
|
xdg.dataFile = { "z/.keep".text = ""; };
|
||||||
"z/.keep".text = "";
|
home.packages = with pkgs; [ fzf fd ];
|
||||||
};
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
fzf fd
|
|
||||||
];
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableAutosuggestions = true;
|
enableAutosuggestions = true;
|
||||||
|
|
@ -21,7 +17,7 @@
|
||||||
};
|
};
|
||||||
localVariables = {
|
localVariables = {
|
||||||
_Z_DATA = "${config.xdg.dataHome}/z/data";
|
_Z_DATA = "${config.xdg.dataHome}/z/data";
|
||||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=3,bold";
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=3,bold";
|
||||||
ZSH_AUTOSUGGEST_USE_ASYNC = 1;
|
ZSH_AUTOSUGGEST_USE_ASYNC = 1;
|
||||||
};
|
};
|
||||||
plugins = [
|
plugins = [
|
||||||
|
|
|
||||||
|
|
@ -27,27 +27,52 @@
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
wayland.windowManager.sway = let
|
wayland.windowManager.sway = let
|
||||||
cfg = config.wayland.windowManager.sway.config;
|
cfg = config.wayland.windowManager.sway.config;
|
||||||
bindsym = k: v: "bindsym ${k} ${v}";
|
bindsym = k: v: "bindsym ${k} ${v}";
|
||||||
bindWorkspace = key: workspace: {
|
bindWorkspace = key: workspace: {
|
||||||
"${cfg.modifier}+${key}" = "workspace number ${workspace}";
|
"${cfg.modifier}+${key}" = "workspace number ${workspace}";
|
||||||
"${cfg.modifier}+shift+${key}" = "move container to workspace number ${workspace}";
|
"${cfg.modifier}+shift+${key}" =
|
||||||
};
|
"move container to workspace number ${workspace}";
|
||||||
workspaceBindings =
|
};
|
||||||
map (v: bindWorkspace v "${v}:${v}") ["1" "2" "3" "4" "5" "6" "7" "8" "9"]
|
workspaceBindings = map (v: bindWorkspace v "${v}:${v}") [
|
||||||
++ [(bindWorkspace "0" "10:10")]
|
"1"
|
||||||
++ lib.imap1 (i: v: bindWorkspace v "${toString (10 + i)}:${v}") ["F1" "F2" "F3" "F4" "F5" "F6" "F7" "F8" "F9" "F10" "F11" "F12"];
|
"2"
|
||||||
workspaceBindings' =
|
"3"
|
||||||
map (lib.mapAttrsToList bindsym) workspaceBindings;
|
"4"
|
||||||
workspaceBindingsStr =
|
"5"
|
||||||
lib.concatStringsSep "\n" (lib.flatten workspaceBindings');
|
"6"
|
||||||
|
"7"
|
||||||
|
"8"
|
||||||
|
"9"
|
||||||
|
] ++ [ (bindWorkspace "0" "10:10") ]
|
||||||
|
++ lib.imap1 (i: v: bindWorkspace v "${toString (10 + i)}:${v}") [
|
||||||
|
"F1"
|
||||||
|
"F2"
|
||||||
|
"F3"
|
||||||
|
"F4"
|
||||||
|
"F5"
|
||||||
|
"F6"
|
||||||
|
"F7"
|
||||||
|
"F8"
|
||||||
|
"F9"
|
||||||
|
"F10"
|
||||||
|
"F11"
|
||||||
|
"F12"
|
||||||
|
];
|
||||||
|
workspaceBindings' = map (lib.mapAttrsToList bindsym) workspaceBindings;
|
||||||
|
workspaceBindingsStr =
|
||||||
|
lib.concatStringsSep "\n" (lib.flatten workspaceBindings');
|
||||||
in {
|
in {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = let
|
config = let
|
||||||
dmenu =
|
dmenu =
|
||||||
"${pkgs.bemenu}/bin/bemenu --fn '${witch.style.font.name} ${witch.style.font.size}' --nb '${witch.style.base16.color0}' --nf '${witch.style.base16.color7}' --sb '${witch.style.base16.color1}' --sf '${witch.style.base16.color7}' -l 5 -m -1 -i";
|
"${pkgs.bemenu}/bin/bemenu --fn '${witch.style.font.name} ${witch.style.font.size}' --nb '${witch.style.base16.color0}' --nf '${witch.style.base16.color7}' --sb '${witch.style.base16.color1}' --sf '${witch.style.base16.color7}' -l 5 -m -1 -i";
|
||||||
lockCommand = "swaylock -i eDP-1:${../../../private/files/wallpapers/main.png} -i HDMI-A-1:${../../../private/files/wallpapers/main.png} -i DP-1:${../../../private/files/wallpapers/left.jpg} -i DVI-D-1:${../../../private/files/wallpapers/right.jpg} -s fill";
|
lockCommand = "swaylock -i eDP-1:${
|
||||||
|
../../../private/files/wallpapers/main.png
|
||||||
|
} -i HDMI-A-1:${../../../private/files/wallpapers/main.png} -i DP-1:${
|
||||||
|
../../../private/files/wallpapers/left.jpg
|
||||||
|
} -i DVI-D-1:${../../../private/files/wallpapers/right.jpg} -s fill";
|
||||||
|
|
||||||
in {
|
in {
|
||||||
bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
|
bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
|
||||||
|
|
@ -88,15 +113,9 @@
|
||||||
middle_emulation = "enabled";
|
middle_emulation = "enabled";
|
||||||
click_method = "clickfinger";
|
click_method = "clickfinger";
|
||||||
};
|
};
|
||||||
"5824:1503:screenstub-tablet" = {
|
"5824:1503:screenstub-tablet" = { events = "disabled"; };
|
||||||
events = "disabled";
|
"5824:1503:screenstub-mouse" = { events = "disabled"; };
|
||||||
};
|
"5824:1503:screenstub-kbd" = { events = "disabled"; };
|
||||||
"5824:1503:screenstub-mouse" = {
|
|
||||||
events = "disabled";
|
|
||||||
};
|
|
||||||
"5824:1503:screenstub-kbd" = {
|
|
||||||
events = "disabled";
|
|
||||||
};
|
|
||||||
"*" = {
|
"*" = {
|
||||||
xkb_layout = "gb";
|
xkb_layout = "gb";
|
||||||
# xkb_variant = "nodeadkeys";
|
# xkb_variant = "nodeadkeys";
|
||||||
|
|
@ -143,7 +162,8 @@
|
||||||
"${cfg.modifier}+space" = "focus mode_toggle";
|
"${cfg.modifier}+space" = "focus mode_toggle";
|
||||||
|
|
||||||
"${cfg.modifier}+Tab" = "workspace back_and_forth";
|
"${cfg.modifier}+Tab" = "workspace back_and_forth";
|
||||||
"${cfg.modifier}+Shift+Tab" = "${pkgs.i3gopher}/bin/i3gopher --focus-last";
|
"${cfg.modifier}+Shift+Tab" =
|
||||||
|
"${pkgs.i3gopher}/bin/i3gopher --focus-last";
|
||||||
"${cfg.modifier}+Ctrl+Left" = "workspace prev_on_output";
|
"${cfg.modifier}+Ctrl+Left" = "workspace prev_on_output";
|
||||||
"${cfg.modifier}+Ctrl+Right" = "workspace next_on_output";
|
"${cfg.modifier}+Ctrl+Right" = "workspace next_on_output";
|
||||||
|
|
||||||
|
|
@ -167,8 +187,7 @@
|
||||||
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify upload area";
|
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify upload area";
|
||||||
"${cfg.modifier}+Mod1+Print" =
|
"${cfg.modifier}+Mod1+Print" =
|
||||||
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify upload window";
|
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify upload window";
|
||||||
"Print" =
|
"Print" = "exec ${pkgs.kat-scrot}/bin/kat-scrot --notify save screen";
|
||||||
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify save screen";
|
|
||||||
"Shift+Print" =
|
"Shift+Print" =
|
||||||
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify save area";
|
"exec ${pkgs.kat-scrot}/bin/kat-scrot --notify save area";
|
||||||
"Mod1+Print" =
|
"Mod1+Print" =
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,22 @@
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
${pkgs.swayidle}/bin/swayidle -w \
|
${pkgs.swayidle}/bin/swayidle -w \
|
||||||
timeout 300 '${pkgs.swaylock}/bin/swaylock -f -i eDP-1:${../../../private/files/wallpapers/main.png} -i HDMI-A-1:${../../../private/files/wallpapers/main.png} -i DP-1:${../../../private/files/wallpapers/left.jpg} -i DVI-D-1:${../../../private/files/wallpapers/right.jpg}' \
|
timeout 300 '${pkgs.swaylock}/bin/swaylock -f -i eDP-1:${
|
||||||
|
../../../private/files/wallpapers/main.png
|
||||||
|
} -i HDMI-A-1:${
|
||||||
|
../../../private/files/wallpapers/main.png
|
||||||
|
} -i DP-1:${
|
||||||
|
../../../private/files/wallpapers/left.jpg
|
||||||
|
} -i DVI-D-1:${../../../private/files/wallpapers/right.jpg}' \
|
||||||
timeout 600 'swaymsg "output * dpms off"' \
|
timeout 600 'swaymsg "output * dpms off"' \
|
||||||
resume 'swaymsg "output * dpms on"' \
|
resume 'swaymsg "output * dpms on"' \
|
||||||
before-sleep '${pkgs.swaylock}/bin/swaylock -f -i eDP-1:${../../../private/files/wallpapers/main.png} -i HDMI-A-1:${../../../private/files/wallpapers/main.png} -i DP-1:${../../../private/files/wallpapers/left.jpg} -i DVI-D-1:${../../../private/files/wallpapers/right.jpg}'
|
before-sleep '${pkgs.swaylock}/bin/swaylock -f -i eDP-1:${
|
||||||
|
../../../private/files/wallpapers/main.png
|
||||||
|
} -i HDMI-A-1:${
|
||||||
|
../../../private/files/wallpapers/main.png
|
||||||
|
} -i DP-1:${
|
||||||
|
../../../private/files/wallpapers/left.jpg
|
||||||
|
} -i DVI-D-1:${../../../private/files/wallpapers/right.jpg}'
|
||||||
'';
|
'';
|
||||||
RestartSec = 3;
|
RestartSec = 3;
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,7 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
"sway/workspaces" = {
|
"sway/workspaces" = { format = "{name}"; };
|
||||||
format = "{name}";
|
|
||||||
};
|
|
||||||
#"custom/weather" = {
|
#"custom/weather" = {
|
||||||
# format = "{}";
|
# format = "{}";
|
||||||
# interval = 3600;
|
# interval = 3600;
|
||||||
|
|
@ -43,11 +41,11 @@
|
||||||
on-click = "xdg-open 'https://google.com/search?q=weather'";
|
on-click = "xdg-open 'https://google.com/search?q=weather'";
|
||||||
exec =
|
exec =
|
||||||
"${pkgs.kat-weather}/bin/kat-weather ${witch.secrets.profiles.sway.city} ${witch.secrets.profiles.sway.api_key}";
|
"${pkgs.kat-weather}/bin/kat-weather ${witch.secrets.profiles.sway.city} ${witch.secrets.profiles.sway.api_key}";
|
||||||
};
|
};
|
||||||
"custom/gpg-status" = {
|
"custom/gpg-status" = {
|
||||||
format = "{}";
|
format = "{}";
|
||||||
interval= 300;
|
interval = 300;
|
||||||
exec = "${pkgs.kat-gpg-status}/bin/kat-gpg-status";
|
exec = "${pkgs.kat-gpg-status}/bin/kat-gpg-status";
|
||||||
};
|
};
|
||||||
cpu = { format = " {usage}%"; };
|
cpu = { format = " {usage}%"; };
|
||||||
#mpd = {
|
#mpd = {
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,9 @@
|
||||||
domain = "git.kittywit.ch";
|
domain = "git.kittywit.ch";
|
||||||
rootUrl = "https://git.kittywit.ch";
|
rootUrl = "https://git.kittywit.ch";
|
||||||
httpAddress = "127.0.0.1";
|
httpAddress = "127.0.0.1";
|
||||||
ssh = {
|
ssh = { clonePort = 62954; };
|
||||||
clonePort = 62954;
|
|
||||||
};
|
|
||||||
settings = {
|
settings = {
|
||||||
security = {
|
security = { DISABLE_GIT_HOOKS = false; };
|
||||||
DISABLE_GIT_HOOKS = false;
|
|
||||||
};
|
|
||||||
mailer = {
|
mailer = {
|
||||||
ENABLED = true;
|
ENABLED = true;
|
||||||
MAILER_TYPE = "sendmail";
|
MAILER_TYPE = "sendmail";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue