nix: 2.16->2.15; home/fish/atuin: remove up key binding
nix-plugins built for a newer nix versions than pkgs.nix makes using pkgs.nix impossible, and overriding pkgs.nix globally breaks some derivations, so I have to do per-app overrides (couldn't find a way to revert it for a single app for some reason). This reverts a nix-plugins update to 2.16 so I can build it for 2.15 and escape the "symbol not found" hell. also override nixVersions.unstable to be 2.15 as well finally, use custom code for atuin integration because I hate the way it normally hijacks my up key
This commit is contained in:
parent
44877e1d59
commit
9bf71ca13a
|
@ -266,7 +266,7 @@
|
||||||
packages = lib.genAttrs [
|
packages = lib.genAttrs [
|
||||||
"x86_64-linux"
|
"x86_64-linux"
|
||||||
"aarch64-linux"
|
"aarch64-linux"
|
||||||
] (system: let self = overlay self (import nixpkgs { inherit system; }); in self );
|
] (system: let self = overlay ((mkPkgs { inherit system; }) // self) (import nixpkgs { inherit system; }); in self);
|
||||||
nixosImages.router = let pkgs = mkPkgs { system = "aarch64-linux"; }; in {
|
nixosImages.router = let pkgs = mkPkgs { system = "aarch64-linux"; }; in {
|
||||||
emmcImage = pkgs.callPackage ./system/hardware/bpi-r3/image.nix {
|
emmcImage = pkgs.callPackage ./system/hardware/bpi-r3/image.nix {
|
||||||
inherit (nixosConfigurations.router-emmc) config;
|
inherit (nixosConfigurations.router-emmc) config;
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs
|
||||||
|
, config
|
||||||
|
, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.fish =
|
programs.fish =
|
||||||
|
@ -19,6 +21,33 @@
|
||||||
source /etc/fish/config.fish
|
source /etc/fish/config.fish
|
||||||
'';
|
'';
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
|
# ${config.programs.atuin.package}/bin/atuin init fish | source
|
||||||
|
set -gx ATUIN_SESSION (atuin uuid)
|
||||||
|
function _atuin_preexec --on-event fish_preexec
|
||||||
|
if not test -n "$fish_private_mode"
|
||||||
|
set -gx ATUIN_HISTORY_ID (atuin history start -- "$argv[1]")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function _atuin_postexec --on-event fish_postexec
|
||||||
|
set s $status
|
||||||
|
if test -n "$ATUIN_HISTORY_ID"
|
||||||
|
RUST_LOG=error atuin history end --exit $s -- $ATUIN_HISTORY_ID &>/dev/null &
|
||||||
|
disown
|
||||||
|
end
|
||||||
|
end
|
||||||
|
function _atuin_search
|
||||||
|
set h (RUST_LOG=error atuin search $argv -i -- (commandline -b) 3>&1 1>&2 2>&3)
|
||||||
|
commandline -f repaint
|
||||||
|
if test -n "$h"
|
||||||
|
commandline -r $h
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
bind \cr _atuin_search
|
||||||
|
if bind -M insert > /dev/null 2>&1
|
||||||
|
bind -M insert \cr _atuin_search
|
||||||
|
end
|
||||||
|
|
||||||
# ${pkgs.any-nix-shell}/bin/any-nix-shell fish | source
|
# ${pkgs.any-nix-shell}/bin/any-nix-shell fish | source
|
||||||
|
|
||||||
function nix-shell
|
function nix-shell
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
programs = {
|
programs = {
|
||||||
atuin = {
|
atuin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableFishIntegration = false;
|
||||||
settings = {
|
settings = {
|
||||||
update_check = false;
|
update_check = false;
|
||||||
};
|
};
|
||||||
|
|
|
@ -63,7 +63,8 @@
|
||||||
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=--ld-path=${pkgs.mold}/bin/mold";
|
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS = "-C link-arg=--ld-path=${pkgs.mold}/bin/mold";
|
||||||
};
|
};
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
mold
|
gimp krita blender-hip
|
||||||
|
kdenlive glaxnimate mediainfo
|
||||||
ghidra cutter2
|
ghidra cutter2
|
||||||
openrgb piper
|
openrgb piper
|
||||||
steam-run steam
|
steam-run steam
|
||||||
|
@ -81,16 +82,12 @@
|
||||||
winetricks
|
winetricks
|
||||||
# protontricks # proton-caller
|
# protontricks # proton-caller
|
||||||
# bottles
|
# bottles
|
||||||
virtmanager
|
virtmanager looking-glass-client
|
||||||
gimp krita blender-hip
|
clang_latest mold
|
||||||
tdesktop
|
rustc rustfmt cargo clippy
|
||||||
clang_latest rustc rustfmt cargo clippy
|
|
||||||
kdenlive
|
|
||||||
mediainfo
|
|
||||||
glaxnimate
|
|
||||||
lalrpop
|
lalrpop
|
||||||
looking-glass-client
|
|
||||||
tio
|
tio
|
||||||
|
tdesktop
|
||||||
];
|
];
|
||||||
xdg.configFile."looking-glass/client.ini".text = ''
|
xdg.configFile."looking-glass/client.ini".text = ''
|
||||||
[app]
|
[app]
|
||||||
|
|
|
@ -9,17 +9,38 @@ let
|
||||||
sources = import ./_sources/generated.nix {
|
sources = import ./_sources/generated.nix {
|
||||||
inherit (pkgs) fetchgit fetchurl fetchFromGitHub dockerTools;
|
inherit (pkgs) fetchgit fetchurl fetchFromGitHub dockerTools;
|
||||||
};
|
};
|
||||||
|
nixForNixPlugins = pkgs.nixVersions.nix_2_15;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
inherit (nix-gaming) faf-client osu-lazer-bin;
|
inherit (nix-gaming) faf-client osu-lazer-bin;
|
||||||
nixForNixPlugins = pkgs.nixVersions.nix_2_16;
|
inherit nixForNixPlugins;
|
||||||
|
nix-plugins = pkgs.nix-plugins.overrideAttrs (old: {
|
||||||
|
src = old.src.override {
|
||||||
|
rev = "8b9d06ef5b1b4f53cc99fcfde72bae75c7a7aa9c";
|
||||||
|
hash = "sha256-7Lo+YxpiRz0+ZLFDvYMJWWK2j0CyPDRoP1wAc+OaPJY=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
nix = nixForNixPlugins;
|
||||||
|
nixVersions = pkgs.nixVersions.extend (self: super: {
|
||||||
|
stable = nixForNixPlugins;
|
||||||
|
unstable = nixForNixPlugins;
|
||||||
|
});
|
||||||
|
/* Various patches to change Nix version of existing packages so they don't error out because of nix-plugins in nix.conf
|
||||||
|
hydra_unstable = pkgs.hydra_unstable.override { nix = nixForNixPlugins; };
|
||||||
|
harmonia = pkgs.harmonia.override { nix = nixForNixPlugins; };
|
||||||
|
nix-init = pkgs.nix-init.override { nix = nixForNixPlugins; };
|
||||||
|
nix-serve = pkgs.nix-serve.override { nix = nixForNixPlugins; };
|
||||||
|
nix-serve-ng = pkgs.nix-serve-ng.override { nix = nixForNixPlugins; };
|
||||||
|
nurl = pkgs.nurl.override { nixVersions = builtins.mapAttrs (k: v: nixForNixPlugins) pkgs.nixVersions; };
|
||||||
|
*/
|
||||||
|
|
||||||
clang-tools_latest = pkgs.clang-tools_16;
|
clang-tools_latest = pkgs.clang-tools_16;
|
||||||
clang_latest = pkgs.clang_16;
|
clang_latest = pkgs.clang_16;
|
||||||
home-daemon = callPackage ./home-daemon { };
|
|
||||||
/*ghidra = pkgs.ghidra.overrideAttrs (old: {
|
/*ghidra = pkgs.ghidra.overrideAttrs (old: {
|
||||||
patches = old.patches ++ [ ./ghidra-stdcall.patch ];
|
patches = old.patches ++ [ ./ghidra-stdcall.patch ];
|
||||||
});*/
|
});*/
|
||||||
|
home-daemon = callPackage ./home-daemon { };
|
||||||
# pin version
|
# pin version
|
||||||
looking-glass-client = pkgs.looking-glass-client.overrideAttrs (old: {
|
looking-glass-client = pkgs.looking-glass-client.overrideAttrs (old: {
|
||||||
version = "B6";
|
version = "B6";
|
||||||
|
@ -43,13 +64,10 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
rofi-steam-game-list = callPackage ./rofi-steam-game-list { };
|
rofi-steam-game-list = callPackage ./rofi-steam-game-list { };
|
||||||
searxng = pkgs.searxng.overridePythonAttrs (old: {
|
searxng = pkgs'.python3.pkgs.toPythonModule (pkgs.searxng.overrideAttrs (old: {
|
||||||
inherit (sources.searxng) src;
|
inherit (sources.searxng) src;
|
||||||
version = "unstable-" + sources.searxng.date;
|
version = "unstable-" + sources.searxng.date;
|
||||||
propagatedBuildInputs = old.propagatedBuildInputs ++ (with pkgs'.python3.pkgs; [
|
}));
|
||||||
pytomlpp
|
|
||||||
]);
|
|
||||||
});
|
|
||||||
# system76-scheduler = callPackage ./system76-scheduler.nix { };
|
# system76-scheduler = callPackage ./system76-scheduler.nix { };
|
||||||
techmino = callPackage ./techmino { };
|
techmino = callPackage ./techmino { };
|
||||||
|
|
||||||
|
|
|
@ -133,8 +133,6 @@ in {
|
||||||
enable_http2 = true; # See https://www.python-httpx.org/http2/
|
enable_http2 = true; # See https://www.python-httpx.org/http2/
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# workaround for a bug, will probably get fixed upstream some day
|
|
||||||
services.uwsgi.instance.vassals.searx.pythonPackages = lib.mkForce (self: [ pkgs.searxng self.pytomlpp ]);
|
|
||||||
|
|
||||||
services.nginx.virtualHosts."search.${cfg.domainName}" = let inherit (config.services.searx) settings; in {
|
services.nginx.virtualHosts."search.${cfg.domainName}" = let inherit (config.services.searx) settings; in {
|
||||||
quic = true;
|
quic = true;
|
||||||
|
|
|
@ -67,6 +67,9 @@ in {
|
||||||
${lib.optionalString (cfg.lanCidrV4 != "0.0.0.0/0") "allow ${cfg.lanCidrV4};"}
|
${lib.optionalString (cfg.lanCidrV4 != "0.0.0.0/0") "allow ${cfg.lanCidrV4};"}
|
||||||
${lib.optionalString (cfg.lanCidrV6 != "::/0") "allow ${cfg.lanCidrV6};"}
|
${lib.optionalString (cfg.lanCidrV6 != "::/0") "allow ${cfg.lanCidrV6};"}
|
||||||
deny all;
|
deny all;
|
||||||
|
proxy_read_timeout 300;
|
||||||
|
proxy_connect_timeout 300;
|
||||||
|
proxy_send_timeout 300;
|
||||||
'';
|
'';
|
||||||
locations."/".proxyPass = "http://${lib.quoteListenAddr config.services.hydra.listenHost}:${toString config.services.hydra.port}/";
|
locations."/".proxyPass = "http://${lib.quoteListenAddr config.services.hydra.listenHost}:${toString config.services.hydra.port}/";
|
||||||
locations."/static/".root = "${config.services.hydra.package}/libexec/hydra/root/";
|
locations."/static/".root = "${config.services.hydra.package}/libexec/hydra/root/";
|
||||||
|
@ -75,13 +78,16 @@ in {
|
||||||
|
|
||||||
services.nix-serve = {
|
services.nix-serve = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nix-serve-ng.override {
|
package = pkgs.nix-serve-ng;
|
||||||
nix = config.nix.package;
|
|
||||||
};
|
|
||||||
bindAddress = "127.0.0.1";
|
bindAddress = "127.0.0.1";
|
||||||
secretKeyFile = "/secrets/cache-priv-key.pem";
|
secretKeyFile = "/secrets/cache-priv-key.pem";
|
||||||
};
|
};
|
||||||
nix.settings.allowed-users = [ "nix-serve" "hydra" "hydra-www" ];
|
/*services.harmonia = {
|
||||||
|
enable = true;
|
||||||
|
signKeyPath = "/secrets/cache-priv-key.pem";
|
||||||
|
settings.bind = "[::1]:5000";
|
||||||
|
};*/
|
||||||
|
nix.settings.allowed-users = [ "nix-serve" "harmonia" "hydra" "hydra-www" ];
|
||||||
# only hydra has access to this file anyway
|
# only hydra has access to this file anyway
|
||||||
nix.settings.extra-builtins-file = "/etc/nixos/private/extra-builtins.nix";
|
nix.settings.extra-builtins-file = "/etc/nixos/private/extra-builtins.nix";
|
||||||
impermanence.directories = [
|
impermanence.directories = [
|
||||||
|
@ -98,16 +104,30 @@ in {
|
||||||
services.nginx.virtualHosts."binarycache.${cfg.domainName}" = {
|
services.nginx.virtualHosts."binarycache.${cfg.domainName}" = {
|
||||||
quic = true;
|
quic = true;
|
||||||
enableACME = true;
|
enableACME = true;
|
||||||
addSSL = true;
|
forceSSL = true;
|
||||||
basicAuthFile = "/secrets/home_password";
|
basicAuthFile = "/secrets/home_password";
|
||||||
locations."/".proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
|
locations."/".proxyPass = "http://${config.services.nix-serve.bindAddress}:${toString config.services.nix-serve.port}";
|
||||||
|
extraConfig = ''
|
||||||
|
proxy_read_timeout 300;
|
||||||
|
proxy_connect_timeout 300;
|
||||||
|
proxy_send_timeout 300;
|
||||||
|
'';
|
||||||
|
# TODO: fix
|
||||||
|
# https://github.com/nix-community/harmonia/issues/120
|
||||||
|
/*locations."/".proxyPass = "http://${config.services.harmonia.settings.bind or "[::1]:5000"}";
|
||||||
|
locations."/".extraConfig = ''
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $connection_upgrade;
|
||||||
|
'';*/
|
||||||
|
# zstd on;
|
||||||
|
# zstd_types application/x-nix-archive;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.hydra = {
|
services.hydra = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.hydra_unstable.override {
|
|
||||||
nix = config.nix.package;
|
|
||||||
};
|
|
||||||
hydraURL = "home.${cfg.domainName}/hydra";
|
hydraURL = "home.${cfg.domainName}/hydra";
|
||||||
listenHost = "127.0.0.1";
|
listenHost = "127.0.0.1";
|
||||||
minimumDiskFree = 30;
|
minimumDiskFree = 30;
|
||||||
|
|
|
@ -26,7 +26,7 @@ in {
|
||||||
imports = [ ./maubot.nix ];
|
imports = [ ./maubot.nix ];
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 8008 8448 ];
|
networking.firewall.allowedTCPPorts = [ 8008 8448 ];
|
||||||
systemd.services.matrix-synapse.serviceConfig.TimeoutStartSec = 180;
|
systemd.services.matrix-synapse.serviceConfig.TimeoutStartSec = 900;
|
||||||
|
|
||||||
services.nginx.virtualHosts."${cfg.domainName}" = {
|
services.nginx.virtualHosts."${cfg.domainName}" = {
|
||||||
locations."= /.well-known/matrix/server".extraConfig = matrixServerConfigResponse;
|
locations."= /.well-known/matrix/server".extraConfig = matrixServerConfigResponse;
|
||||||
|
|
Loading…
Reference in a new issue