mirror of
https://github.com/kmein/niveum
synced 2026-03-21 12:21:08 +01:00
Compare commits
4 Commits
2e8bfd1bed
...
7a74822716
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a74822716 | ||
| 67358560b8 | |||
| 675c453599 | |||
| e4543eeb0b |
@@ -98,6 +98,8 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
security.pam.services.swaylock = {};
|
||||
|
||||
services.xserver = {
|
||||
monitorSection = ''Option "DPMS" "false"'';
|
||||
serverFlagsSection = ''
|
||||
@@ -269,6 +271,8 @@ in {
|
||||
# XF86Launch1 (thinkvantage)
|
||||
};
|
||||
in {
|
||||
programs.swaylock.enable = true;
|
||||
|
||||
wayland.windowManager.sway = {
|
||||
enable = true;
|
||||
config = {
|
||||
@@ -279,6 +283,15 @@ in {
|
||||
xkb_layout = "de";
|
||||
xkb_variant = "T3";
|
||||
};
|
||||
"type:keyboard" = {
|
||||
repeat_rate = "50";
|
||||
};
|
||||
"type:touchpad" = {
|
||||
dwt = "enabled";
|
||||
dwtp = "enabled";
|
||||
tap = "enabled";
|
||||
tap_button_map = "lrm";
|
||||
};
|
||||
};
|
||||
terminal = (defaultApplications pkgs).terminal;
|
||||
up = "k";
|
||||
@@ -296,6 +309,14 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
services.gammastep = {
|
||||
enable = true;
|
||||
provider = "geoclue2";
|
||||
tray = true;
|
||||
temperature.night = 1500;
|
||||
temperature.day = 6500;
|
||||
};
|
||||
|
||||
xsession.windowManager.i3 = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
|
||||
@@ -2,27 +2,63 @@
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
|
||||
commaSep = builtins.concatStringsSep ",";
|
||||
xkbOptions = ["compose:caps" "terminate:ctrl_alt_bksp" "grp:ctrls_toggle"];
|
||||
xkbOptions = [
|
||||
"compose:caps"
|
||||
"terminate:ctrl_alt_bksp"
|
||||
"grp:ctrls_toggle"
|
||||
];
|
||||
languages = {
|
||||
deutsch = { code = "de"; variant = "T3"; };
|
||||
greek = { code = "gr"; variant = "polytonic"; };
|
||||
russian = { code = "ru"; variant = "phonetic"; };
|
||||
arabic = { code = "ara"; variant = "buckwalter"; }; # ../lib/keyboards/arabic;
|
||||
deutsch = {
|
||||
code = "de";
|
||||
variant = "T3";
|
||||
};
|
||||
greek = {
|
||||
code = "gr";
|
||||
variant = "polytonic";
|
||||
};
|
||||
russian = {
|
||||
code = "ru";
|
||||
variant = "phonetic";
|
||||
};
|
||||
arabic = {
|
||||
code = "ara";
|
||||
variant = "buckwalter";
|
||||
}; # ../lib/keyboards/arabic;
|
||||
coptic = ../lib/keyboards/coptic;
|
||||
avestan = ../lib/keyboards/avestan;
|
||||
gothic = ../lib/keyboards/gothic;
|
||||
farsi = { code = "ir"; variant = "qwerty"; };
|
||||
syriac = { code = "sy"; variant = "syc_phonetic"; };
|
||||
sanskrit = { code = "in"; variant = "san-kagapa"; };
|
||||
gujarati = {code = "in"; variant = "guj-kagapa"; };
|
||||
urdu = {code = "in"; variant = "urd-phonetic"; };
|
||||
hebrew = {code = "il"; variant = "phonetic";};
|
||||
farsi = {
|
||||
code = "ir";
|
||||
variant = "qwerty";
|
||||
};
|
||||
syriac = {
|
||||
code = "sy";
|
||||
variant = "syc_phonetic";
|
||||
};
|
||||
sanskrit = {
|
||||
code = "in";
|
||||
variant = "san-kagapa";
|
||||
};
|
||||
gujarati = {
|
||||
code = "in";
|
||||
variant = "guj-kagapa";
|
||||
};
|
||||
urdu = {
|
||||
code = "in";
|
||||
variant = "urd-phonetic";
|
||||
};
|
||||
hebrew = {
|
||||
code = "il";
|
||||
variant = "phonetic";
|
||||
};
|
||||
};
|
||||
defaultLanguage = languages.deutsch;
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.libinput.enable = true;
|
||||
|
||||
# man 7 xkeyboard-config
|
||||
@@ -41,7 +77,8 @@ in {
|
||||
lib.mapAttrsToList (name: value: {
|
||||
name = "symbols/${name}";
|
||||
path = value;
|
||||
}) (lib.filterAttrs (_: value: !(value ? "code")) languages) ++ [
|
||||
}) (lib.filterAttrs (_: value: !(value ? "code")) languages)
|
||||
++ [
|
||||
{
|
||||
name = "symbols/ir";
|
||||
path = ../lib/keyboards/farsi;
|
||||
@@ -54,25 +91,40 @@ in {
|
||||
|
||||
environment.etc."x11-locale".source = toString pkgs.xorg.libX11 + "share/X11/locale";
|
||||
|
||||
home-manager.users.me = {
|
||||
home.file =
|
||||
lib.mapAttrs' (name: path: lib.nameValuePair ".xkb/symbols/${name}" { source = path; })
|
||||
(lib.filterAttrs (_: value: !(value ? "code")) languages) // {
|
||||
".xkb/symbols/ir".source = ../lib/keyboards/farsi;
|
||||
};
|
||||
};
|
||||
|
||||
console.keyMap = "de";
|
||||
|
||||
environment.systemPackages =
|
||||
lib.mapAttrsToList
|
||||
(language: settings:
|
||||
environment.systemPackages = lib.mapAttrsToList (
|
||||
language: settings:
|
||||
let
|
||||
code = if settings ? "code" then settings.code else language;
|
||||
variant = if settings ? "variant" then settings.variant else "";
|
||||
in
|
||||
pkgs.writers.writeDashBin "kb-${language}" ''
|
||||
${pkgs.xorg.setxkbmap}/bin/setxkbmap ${defaultLanguage.code},${code} ${defaultLanguage.variant},${variant} ${toString (map (option: "-option ${option}") xkbOptions)}
|
||||
'')
|
||||
languages;
|
||||
pkgs.writers.writeDashBin "kb-${language}" ''
|
||||
if [ -z $SWAYSOCK ]; then
|
||||
${pkgs.xorg.setxkbmap}/bin/setxkbmap ${defaultLanguage.code},${code} ${defaultLanguage.variant},${variant} ${
|
||||
toString (map (option: "-option ${option}") xkbOptions)
|
||||
}
|
||||
else
|
||||
swaymsg -s $SWAYSOCK 'input * xkb_layout "${defaultLanguage.code},${code}"'
|
||||
swaymsg -s $SWAYSOCK 'input * xkb_variant "${defaultLanguage.variant},${variant}"'
|
||||
swaymsg -s $SWAYSOCK 'input * xkb_options "${lib.concatStringsSep "," xkbOptions}"'
|
||||
fi
|
||||
''
|
||||
) languages;
|
||||
|
||||
# improve held key rate
|
||||
services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xset}/bin/xset r rate 300 50";
|
||||
|
||||
systemd.user.services.gxkb = {
|
||||
wantedBy = ["graphical-session.target"];
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
serviceConfig = {
|
||||
SyslogIdentifier = "gxkb";
|
||||
ExecStart = "${pkgs.gxkb}/bin/gxkb";
|
||||
|
||||
@@ -94,6 +94,7 @@ in {
|
||||
# HARDWARE TOOLS
|
||||
gnome-disk-utility
|
||||
arandr # xrandr for noobs
|
||||
wdisplays
|
||||
libnotify # for notify-send
|
||||
xclip # clipboard CLI
|
||||
xdragon # drag and drop
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
location = {
|
||||
latitude = 52.517;
|
||||
longitude = 13.3872;
|
||||
provider = "geoclue2";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,11 @@ in {
|
||||
chmod o+rx ${stateDir}
|
||||
cd ${stateDir}
|
||||
(${pkgs.curl}/bin/curl -s -o wallpaper.tmp -z wallpaper.tmp ${lib.escapeShellArg url} && cp wallpaper.tmp wallpaper) || :
|
||||
${pkgs.feh}/bin/feh --no-fehbg --bg-scale wallpaper
|
||||
if [ -z $SWAYSOCK ]; then
|
||||
${pkgs.feh}/bin/feh --no-fehbg --bg-scale wallpaper
|
||||
else
|
||||
${pkgs.sway}/bin/swaymsg -s $SWAYSOCK 'output * bg ${stateDir}/wallpaper fill'
|
||||
fi
|
||||
'';
|
||||
startAt = "*:00,10,20,30,40,50";
|
||||
serviceConfig = {
|
||||
|
||||
146
flake.lock
generated
146
flake.lock
generated
@@ -181,11 +181,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746626503,
|
||||
"narHash": "sha256-mRnIdJLP+0NSim9ao30ue0Z3ttSuxzXwQG7UN1KuKfU=",
|
||||
"lastModified": 1751515480,
|
||||
"narHash": "sha256-vCYcc/b8WizF6vnjuRVxSiU8hy9L3vOTWDVKpWM7xRE=",
|
||||
"owner": "Mic92",
|
||||
"repo": "buildbot-nix",
|
||||
"rev": "7ad9b4886eccb5eecc0686a16266ddabf6cbefe9",
|
||||
"rev": "47ad4c7afb169df6f9d48d0df3d7e2f71d9ddd8f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -336,21 +336,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -381,11 +366,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"lastModified": 1751413152,
|
||||
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -531,54 +516,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"stylix",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750779888,
|
||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -610,11 +547,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744693102,
|
||||
"narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=",
|
||||
"lastModified": 1748000383,
|
||||
"narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "hercules-ci-effects",
|
||||
"rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e",
|
||||
"rev": "231726642197817d20310b9d39dd4afb9e899489",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -653,11 +590,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751468302,
|
||||
"narHash": "sha256-tWosziZTT039x6PgEZUhzGlV8oLvdDmIgKTE8ESMaEA=",
|
||||
"lastModified": 1752208517,
|
||||
"narHash": "sha256-aRY1cYOdVdXdNjcL/Twpa27CknO7pVHxooPsBizDraE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "501cfec8277f931a9c9af9f23d3105c537faeafe",
|
||||
"rev": "c6a01e54af81b381695db796a43360bf6db5702f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1108,11 +1045,11 @@
|
||||
},
|
||||
"nixpkgs-unstable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1751760848,
|
||||
"narHash": "sha256-nMBHBx9WQCDX+41fbHcfA36xSXVYjkjTCbFEQsvcBvw=",
|
||||
"lastModified": 1752366256,
|
||||
"narHash": "sha256-ERWcrnV4MvU6LDpwVIEqQ3OYa6WVjrv/uJopsesHRnc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "17b5150fcbbfe392892f94e7d0ca1eb3c44b2713",
|
||||
"rev": "89d01f29ee586f24139d6832d92dca35190e6fa6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1230,11 +1167,11 @@
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1751582995,
|
||||
"narHash": "sha256-u7ubvtxdTnFPpV27AHpgoKn7qHuE7sgWgza/1oj5nzA=",
|
||||
"lastModified": 1752162966,
|
||||
"narHash": "sha256-3MxxkU8ZXMHXcbFz7UE4M6qnIPTYGcE/7EMqlZNnVDE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7a732ed41ca0dd64b4b71b563ab9805a80a7d693",
|
||||
"rev": "10e687235226880ed5e9f33f1ffa71fe60f2638a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1246,11 +1183,11 @@
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1751637120,
|
||||
"narHash": "sha256-xVNy/XopSfIG9c46nRmPaKfH1Gn/56vQ8++xWA8itO4=",
|
||||
"lastModified": 1751984180,
|
||||
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5c724ed1388e53cc231ed98330a60eb2f7be4be3",
|
||||
"rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1262,11 +1199,11 @@
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1746904237,
|
||||
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
|
||||
"lastModified": 1751792365,
|
||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
|
||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1393,11 +1330,11 @@
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751754818,
|
||||
"narHash": "sha256-gARxzPFRzgIV8IURddZP65AAPMuiXU3DqResBrunvz8=",
|
||||
"lastModified": 1752359539,
|
||||
"narHash": "sha256-vgNUyR58cOf7hHZOSlRnVCHNynWn2khLOD1bCorAnS4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "feddc752c19779132fa6b904b2cb261e0e29e77a",
|
||||
"rev": "196696a12a1087ce8dd11708d2e7e652c5c666ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1592,11 +1529,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751683029,
|
||||
"narHash": "sha256-dYO5X5jK8bpQOeRAo8R5aUt6M/+Ji1cZgstZI7SQ2IA=",
|
||||
"lastModified": 1752288212,
|
||||
"narHash": "sha256-f2PMqtf61mWAM11QoIfGv3hjD2AsJrij4FCzftepuaE=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "9e5e62a33a929a67a5427fb7324a6f583dced0b2",
|
||||
"rev": "678296525a4cce249c608749b171d0b2ceb8b2ff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1670,11 +1607,11 @@
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747157099,
|
||||
"narHash": "sha256-i2s6jU+8GLKVjhWDyvFYxmXI7A44c9p6apPPyKt0ETk=",
|
||||
"lastModified": 1751883947,
|
||||
"narHash": "sha256-S3oLq6+RVtxbWvtzIAoyfxbvJUwfn2uzzZJHDer1WVg=",
|
||||
"owner": "krebs",
|
||||
"repo": "stockholm",
|
||||
"rev": "d4abc837cc7b87b4f23fe48cc306df26e3de7aab",
|
||||
"rev": "5e3cff2b3eda9e824bbbc141c6e4ac788fed2709",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1720,13 +1657,8 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
@@ -1739,11 +1671,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751658706,
|
||||
"narHash": "sha256-jqRbWjB8aH2qzq6nMQpwkzVBR4o9lNxAHFmRgGwnJ94=",
|
||||
"lastModified": 1752364271,
|
||||
"narHash": "sha256-l7jFwg7mlMCtJZ94TQSzB7xq3jFSUdkZSivz3A0mODo=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "5dd301b72207d4fd8d8b929abd88ba1c486d1744",
|
||||
"rev": "57a1b4ef89a28f3da0e03e12e439519493e5d5d3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -2014,11 +1946,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746216483,
|
||||
"narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=",
|
||||
"lastModified": 1750931469,
|
||||
"narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "29ec5026372e0dec56f890e50dbe4f45930320fd",
|
||||
"rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
Reference in New Issue
Block a user