feat: systemd upgrade
feat: streamdeck ui config
This commit is contained in:
parent
be2cfd9402
commit
11764d5850
96
flake.lock
96
flake.lock
|
@ -11,11 +11,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690228878,
|
"lastModified": 1694793763,
|
||||||
"narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=",
|
"narHash": "sha256-y6gTE1C9mIoSkymRYyzCmv62PFgy+hbZ5j8fuiQK5KI=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "agenix",
|
"repo": "agenix",
|
||||||
"rev": "d8c973fd228949736dedf61b7f8cc1ece3236792",
|
"rev": "572baca9b0c592f71982fca0790db4ce311e3c75",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -101,11 +101,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693833206,
|
"lastModified": 1694858246,
|
||||||
"narHash": "sha256-wHOY0nnD6gWj8u9uI85/YlsganYyWRK1hLFZulZwfmY=",
|
"narHash": "sha256-zcKnlTrMspD6YUgN1VyKMKSZ5Few3LCyDyBz3wtGPJQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "devshell",
|
"repo": "devshell",
|
||||||
"rev": "65114ea495a8d3cc1352368bf170d67ef005aa5a",
|
"rev": "f26c2e05cd766be3750dd3d6e276650a1eab4c61",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -121,11 +121,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694069327,
|
"lastModified": 1695039393,
|
||||||
"narHash": "sha256-Si2otUNjCe8kY5nsV7tILi4PsI0odBFrdSu8cCjn/eQ=",
|
"narHash": "sha256-HXvRPTSfQ/fCqxYGvWOc1duSBdXcQlrYvyno8YZbyHI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "7bee8de8e6755506c70323b864a884f9624cc23a",
|
"rev": "9f29cedac79d0acf07b6341f9112f46dec3abb8f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -210,11 +210,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1692799911,
|
"lastModified": 1694529238,
|
||||||
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -228,11 +228,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1692799911,
|
"lastModified": 1694529238,
|
||||||
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -269,11 +269,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694134858,
|
"lastModified": 1694643239,
|
||||||
"narHash": "sha256-fG/ESauOGmiojKlpJG8gB62dJa5Wd+ZIuiDMKK/HD3g=",
|
"narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "19c6a4081b14443420358262f8416149bd79561a",
|
"rev": "d9b88b43524db1591fb3d9410a21428198d75d49",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -284,11 +284,11 @@
|
||||||
},
|
},
|
||||||
"impermanence": {
|
"impermanence": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690797372,
|
"lastModified": 1694622745,
|
||||||
"narHash": "sha256-GImz19e33SeVcIvBB7NnhbJSbTpFFmNtWLh7Z85Y188=",
|
"narHash": "sha256-z397+eDhKx9c2qNafL1xv75lC0Q4nOaFlhaU1TINqb8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "impermanence",
|
"repo": "impermanence",
|
||||||
"rev": "e3a7acd113903269a1b5c8b527e84ce7ee859851",
|
"rev": "e9643d08d0d193a2e074a19d4d90c67a874d932e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -303,11 +303,11 @@
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693844549,
|
"lastModified": 1694952508,
|
||||||
"narHash": "sha256-q37gKJEJ8H+bvcQRuZpbGTDU/GvyrpMtaejhFvS8mSc=",
|
"narHash": "sha256-0KzgnYW9RvlwUnl5qYinNOg/WsV9jEJfMPVQoJL8bmI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lib-aggregate",
|
"repo": "lib-aggregate",
|
||||||
"rev": "80552e56920ed1acc248596a13d8f0b4932138d3",
|
"rev": "d44755862cce5ba5e040ec8f7df6c6b33e47c8a0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -323,11 +323,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694051403,
|
"lastModified": 1695000172,
|
||||||
"narHash": "sha256-TbCcylrAPLhKu7s7mnjwQjkrqBMjI9/ysiysfKn5XHs=",
|
"narHash": "sha256-TWPMFY29XcWAwUJFE3n+4pGqBdBbr4XsWDZwr77fTwo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-eval-jobs",
|
"repo": "nix-eval-jobs",
|
||||||
"rev": "9cc7944c28c2bc5de3c96c253b3fd814c1cb85dd",
|
"rev": "a91f3595b22037f561912cd3a9ca549933e4544d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -394,11 +394,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693718952,
|
"lastModified": 1695033975,
|
||||||
"narHash": "sha256-+nGdJlgTk0MPN7NygopipmyylVuAVi7OItIwTlwtGnw=",
|
"narHash": "sha256-GIUxbgLBhVyaKRxQw/NWYFLx7/jbKW3+U0HoSsMLPAs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "793de77d9f83418b428e8ba70d1e42c6507d0d35",
|
"rev": "161b027169b19d3a0ad6bd0a8948edf0c0fb0f64",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -409,11 +409,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693985761,
|
"lastModified": 1694767346,
|
||||||
"narHash": "sha256-K5b+7j7Tt3+AqbWkcw+wMeqOAWyCD1MH26FPZyWXpdo=",
|
"narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0bffda19b8af722f8069d09d8b6a24594c80b352",
|
"rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -425,11 +425,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693701915,
|
"lastModified": 1694911725,
|
||||||
"narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=",
|
"narHash": "sha256-8YqI+YU1DGclEjHsnrrGfqsQg3Wyga1DfTbJrN3Ud0c=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25",
|
"rev": "819180647f428a3826bfc917a54449da1e532ce0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -464,11 +464,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694182450,
|
"lastModified": 1695035588,
|
||||||
"narHash": "sha256-Eivl9r8Y5RKn3z4N1hAUAl6///bJhpzyHCVk7Q8u6Dw=",
|
"narHash": "sha256-jhB35iAcGXVXFPPA+JAQQX2J6Uj3BqlyEGjMDZSEAD0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs-wayland",
|
"repo": "nixpkgs-wayland",
|
||||||
"rev": "1372a7ab8f8d1a4c12f4cf522cbe553c91043656",
|
"rev": "9613c0cb66dcbb7fa5bcdf6667e384caf53eab26",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -479,11 +479,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1694048283,
|
"lastModified": 1694998849,
|
||||||
"narHash": "sha256-QexXMDukc4fmXq5SJsDg8WRA6+FiEOt+PB3hx+fbc8o=",
|
"narHash": "sha256-A23ROwLGc+lbgUZOkHMhsJ+3IMC+5MmRXXl61iEuhhQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "308e5f73e17dc2fe43ba95ec83697999b5dd544d",
|
"rev": "5b859eef2e5dd7aacfd229e819f426942eed25fc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -506,11 +506,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1692274144,
|
"lastModified": 1694364351,
|
||||||
"narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=",
|
"narHash": "sha256-oadhSCqopYXxURwIA6/Anpe5IAG11q2LhvTJNP5zE6o=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa",
|
"rev": "4f883a76282bc28eb952570afc3d8a1bf6f481d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -609,11 +609,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1693817438,
|
"lastModified": 1694528738,
|
||||||
"narHash": "sha256-fg3+n4Ky1gCzDtPm0MomMTFw0YkH05Y8ojy5t7bkfHg=",
|
"narHash": "sha256-aWMEjib5oTqEzF9f3WXffC1cwICo6v/4dYKjwNktV8k=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "b8d3a059f5487d6767d07c3716386753e3132d9f",
|
"rev": "7a49c388d7a6b63bb551b1ddedfa4efab8f400d8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -1,4 +1,60 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit
|
||||||
|
(lib)
|
||||||
|
types
|
||||||
|
mkEnableOption
|
||||||
|
mkPackageOption
|
||||||
|
mkOption
|
||||||
|
mkIf
|
||||||
|
;
|
||||||
|
settingsFormat = pkgs.formats.json {};
|
||||||
|
in {
|
||||||
# broken on nixpkgs currently. How fun
|
# broken on nixpkgs currently. How fun
|
||||||
#programs.streamdeck-ui.enable = true;
|
programs.streamdeck-ui.enable = true;
|
||||||
|
|
||||||
|
home-manager.sharedModules = [
|
||||||
|
({config, ...}: {
|
||||||
|
options.programs.streamdeck-ui = {
|
||||||
|
enable = mkEnableOption "streamdeck-ui";
|
||||||
|
package = mkPackageOption pkgs "streamdeck-ui" {};
|
||||||
|
autoStart = mkOption {
|
||||||
|
default = true;
|
||||||
|
type = types.bool;
|
||||||
|
description = "Whether streamdeck-ui should be started automatically";
|
||||||
|
};
|
||||||
|
settings = mkOption {
|
||||||
|
default = {};
|
||||||
|
type = types.submodule {freeformType = settingsFormat.type;};
|
||||||
|
description = "Configuration per streamdeck";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkIf config.programs.streamdeck-ui.enable {
|
||||||
|
home.sessionVariables.STREAMDECK_UI_CONFIG = "${config.xdg.configHome}/streamdeck-ui/config.json";
|
||||||
|
xdg.configFile.streamdeck-ui = {
|
||||||
|
target = "streamdeck-ui/config.json";
|
||||||
|
source = settingsFormat.generate "config.json" {
|
||||||
|
streamdeck_ui_version = 1;
|
||||||
|
state = config.programs.streamdeck-ui.settings;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.user.services = mkIf config.programs.streamdeck-ui.autoStart {
|
||||||
|
streamdeck-ui = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Start streamdeck-ui";
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${config.programs.streamdeck-ui.package}/bin/streamdeck-ui --no-ui";
|
||||||
|
};
|
||||||
|
Install = {
|
||||||
|
WantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
3
statix.toml
Normal file
3
statix.toml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
disabled = [
|
||||||
|
"repeated_keys"
|
||||||
|
]
|
|
@ -1,14 +1,26 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
difftastic.enable = true;
|
difftastic.enable = true;
|
||||||
aliases = {
|
aliases = {
|
||||||
cs = "commit -v -S";
|
cs = "commit -v -S";
|
||||||
|
cr = "commit -v -S --edit --file \"$(git rev-parse --git-dir)\"/COMMIT_EDITMSG'";
|
||||||
s = "status";
|
s = "status";
|
||||||
a = "add";
|
a = "add";
|
||||||
p = "push";
|
p = "push";
|
||||||
|
rebase = "rebase --gpg-sign";
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
|
core.pager = "${pkgs.delta}/bin/delta";
|
||||||
|
delta = {
|
||||||
|
hyperlinks = true;
|
||||||
|
keep-plus-minus-markers = true;
|
||||||
|
line-numbers = true;
|
||||||
|
navigate = true;
|
||||||
|
side-by-side = true;
|
||||||
|
syntax-theme = "TwoDark";
|
||||||
|
tabs = 4;
|
||||||
|
};
|
||||||
mergetool.prompt = true;
|
mergetool.prompt = true;
|
||||||
merge.conflictstyle = "diff3";
|
merge.conflictstyle = "diff3";
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
|
|
40
users/common/programs/streamdeck.nix
Normal file
40
users/common/programs/streamdeck.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{
|
||||||
|
programs.streamdeck-ui = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# Device ID
|
||||||
|
"AL31H1B01852" = {
|
||||||
|
buttons = {
|
||||||
|
# Page number
|
||||||
|
"0" = {
|
||||||
|
# button number
|
||||||
|
"5" = {
|
||||||
|
# keyInput to press
|
||||||
|
keys = "F7";
|
||||||
|
# Text shown on button
|
||||||
|
text = "mute";
|
||||||
|
# Text position
|
||||||
|
text_vertical_align = "middle-bottom";
|
||||||
|
};
|
||||||
|
"6" = {
|
||||||
|
keys = "F8";
|
||||||
|
text = "deafen";
|
||||||
|
text_vertical_align = "top";
|
||||||
|
};
|
||||||
|
"7" = {
|
||||||
|
# background picture
|
||||||
|
icon = "/home/patrick/ms.jpg";
|
||||||
|
# command to execute on press
|
||||||
|
command = "echo lol";
|
||||||
|
# background fill colour
|
||||||
|
background_color = "#000000";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
brightness = 99; # brighness value between 0 and 99
|
||||||
|
display_timeout = 1800; # dimmer timeout in seconds
|
||||||
|
brightness_dimmed = 10; # dimmed brighness
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -38,7 +38,7 @@
|
||||||
initExtra = builtins.readFile ./zshrc;
|
initExtra = builtins.readFile ./zshrc;
|
||||||
# This needs to be loaded befor zsh-fast-syntax-highlighting
|
# This needs to be loaded befor zsh-fast-syntax-highlighting
|
||||||
# is sourced as that overwrites all widgets to redraw with highlighting
|
# is sourced as that overwrites all widgets to redraw with highlighting
|
||||||
initExtraBeforeCompInit = ''
|
initExtraFirst = ''
|
||||||
if autoload history-search-end; then
|
if autoload history-search-end; then
|
||||||
zle -N history-beginning-search-backward-end history-search-end
|
zle -N history-beginning-search-backward-end history-search-end
|
||||||
zle -N history-beginning-search-forward-end history-search-end
|
zle -N history-beginning-search-forward-end history-search-end
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
|
|
||||||
../common/programs/bottles.nix
|
../common/programs/bottles.nix
|
||||||
../common/programs/gdb.nix
|
../common/programs/gdb.nix
|
||||||
|
../common/programs/streamdeck.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue