nix fmt
This commit is contained in:
parent
a9218a80e6
commit
7137e93805
49 changed files with 2034 additions and 2002 deletions
419
flake.nix
419
flake.nix
|
@ -75,7 +75,6 @@
|
|||
flake = false;
|
||||
};
|
||||
|
||||
|
||||
### inputs for thinkpad x13s
|
||||
# see https://github.com/jhovold/linux/wiki/X13s for status updates
|
||||
linux_x13s.url = "github:jhovold/linux/wip/sc8280xp-v6.7";
|
||||
|
@ -91,242 +90,236 @@
|
|||
url = "git+https://codeberg.org/adamcstephens/stop-export.git";
|
||||
};
|
||||
|
||||
|
||||
# alsa-ucm-conf = {
|
||||
# flake = false;
|
||||
# url = "github:alsa-project/alsa-ucm-conf/master";
|
||||
# };
|
||||
|
||||
|
||||
logseq_0_10_5_aarch64_appimage = {
|
||||
flake = false;
|
||||
url = "https://www.stefanjunker.de/downloads/Logseq-0.10.5.AppImage";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs @ { self
|
||||
, flake-parts
|
||||
, nixpkgs
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
inherit (nixpkgs) lib;
|
||||
outputs = inputs @ {
|
||||
self,
|
||||
flake-parts,
|
||||
nixpkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (nixpkgs) lib;
|
||||
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
in
|
||||
flake-parts.lib.mkFlake { inherit inputs; }
|
||||
({ withSystem, ... }: {
|
||||
flake.colmena =
|
||||
lib.lists.foldl (sum: cur: lib.attrsets.recursiveUpdate sum cur)
|
||||
{
|
||||
meta.nixpkgs = import inputs.nixpkgs.outPath {
|
||||
system = builtins.elemAt systems 0;
|
||||
};
|
||||
}
|
||||
# FIXME: this doesn't seem to work to apply overlays into a node's nixpkgs import
|
||||
# try this instead: https://github.com/zhaofengli/colmena/issues/60#issuecomment-1510496861
|
||||
(builtins.map
|
||||
(nodeName:
|
||||
import ./nix/os/devices/${nodeName} {
|
||||
inherit nodeName;
|
||||
repoFlake = self;
|
||||
repoFlakeWithSystem = withSystem;
|
||||
nodeFlake = self.inputs.get-flake ./nix/os/devices/${nodeName};
|
||||
}) [
|
||||
"steveej-t14"
|
||||
"steveej-x13s"
|
||||
"steveej-x13s-rmvbl"
|
||||
# "elias-e525"
|
||||
# "justyna-p300"
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
in
|
||||
flake-parts.lib.mkFlake {inherit inputs;}
|
||||
({withSystem, ...}: {
|
||||
flake.colmena =
|
||||
lib.lists.foldl (sum: cur: lib.attrsets.recursiveUpdate sum cur)
|
||||
{
|
||||
meta.nixpkgs = import inputs.nixpkgs.outPath {
|
||||
system = builtins.elemAt systems 0;
|
||||
};
|
||||
}
|
||||
# FIXME: this doesn't seem to work to apply overlays into a node's nixpkgs import
|
||||
# try this instead: https://github.com/zhaofengli/colmena/issues/60#issuecomment-1510496861
|
||||
(builtins.map
|
||||
(nodeName:
|
||||
import ./nix/os/devices/${nodeName} {
|
||||
inherit nodeName;
|
||||
repoFlake = self;
|
||||
repoFlakeWithSystem = withSystem;
|
||||
nodeFlake = self.inputs.get-flake ./nix/os/devices/${nodeName};
|
||||
}) [
|
||||
"steveej-t14"
|
||||
"steveej-x13s"
|
||||
"steveej-x13s-rmvbl"
|
||||
# "elias-e525"
|
||||
# "justyna-p300"
|
||||
|
||||
# "srv0-dmz0"
|
||||
# # "router0-dmz0"
|
||||
# "srv0-dmz0"
|
||||
# # "router0-dmz0"
|
||||
|
||||
"sj-srv1"
|
||||
"sj-bm-hostkey0"
|
||||
"sj-srv1"
|
||||
"sj-bm-hostkey0"
|
||||
|
||||
# "retro"
|
||||
]);
|
||||
# "retro"
|
||||
]);
|
||||
|
||||
# this makes nixos-anywhere work
|
||||
flake.nixosConfigurations =
|
||||
let
|
||||
colmenaHive = (inputs.colmena.lib.makeHive self.outputs.colmena).nodes;
|
||||
router0-dmz0 = (inputs.get-flake ./nix/os/devices/router0-dmz0).nixosConfigurations;
|
||||
retro = (inputs.get-flake ./nix/os/devices/retro).nixosConfigurations;
|
||||
in
|
||||
(
|
||||
colmenaHive //
|
||||
# this makes nixos-anywhere work
|
||||
flake.nixosConfigurations = let
|
||||
colmenaHive = (inputs.colmena.lib.makeHive self.outputs.colmena).nodes;
|
||||
router0-dmz0 = (inputs.get-flake ./nix/os/devices/router0-dmz0).nixosConfigurations;
|
||||
retro = (inputs.get-flake ./nix/os/devices/retro).nixosConfigurations;
|
||||
in (
|
||||
colmenaHive
|
||||
// {
|
||||
router0-dmz0 = router0-dmz0.native;
|
||||
|
||||
{
|
||||
router0-dmz0 = router0-dmz0.native;
|
||||
# for now deploy directly with:
|
||||
# nixos-rebuild switch --flake .\#router0-dmz0_cross --build-host localhost --target-host root@192.168.10.1
|
||||
router0-dmz0_cross = router0-dmz0.cross;
|
||||
|
||||
# for now deploy directly with:
|
||||
# nixos-rebuild switch --flake .\#router0-dmz0_cross --build-host localhost --target-host root@192.168.10.1
|
||||
router0-dmz0_cross = router0-dmz0.cross;
|
||||
# nixos-install --flake .\#retro_cross
|
||||
retro_cross = retro.cross;
|
||||
|
||||
# nixos-install --flake .\#retro_cross
|
||||
retro_cross = retro.cross;
|
||||
steveej-x13s_cross = (inputs.get-flake ./nix/os/devices/steveej-x13s).nixosConfigurations.cross;
|
||||
steveej-x13s-rmvbl_cross = (inputs.get-flake ./nix/os/devices/steveej-x13s-rmvbl).nixosConfigurations.cross;
|
||||
}
|
||||
);
|
||||
|
||||
steveej-x13s_cross = (inputs.get-flake ./nix/os/devices/steveej-x13s).nixosConfigurations.cross;
|
||||
steveej-x13s-rmvbl_cross = (inputs.get-flake ./nix/os/devices/steveej-x13s-rmvbl).nixosConfigurations.cross;
|
||||
}
|
||||
);
|
||||
inherit systems;
|
||||
|
||||
inherit systems;
|
||||
perSystem = {
|
||||
self',
|
||||
inputs',
|
||||
system,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./nix/modules/flake-parts/perSystem/default.nix
|
||||
];
|
||||
|
||||
perSystem =
|
||||
{ self'
|
||||
, inputs'
|
||||
, system
|
||||
, config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}: {
|
||||
imports = [
|
||||
./nix/modules/flake-parts/perSystem/default.nix
|
||||
packages = let
|
||||
dcpj4110dw = pkgs.callPackage (self + /nix/pkgs/dcpj4110dw) {};
|
||||
|
||||
craneLib =
|
||||
inputs.crane.lib.${system}.overrideToolchain
|
||||
inputs'.fenix.packages.stable.toolchain;
|
||||
|
||||
craneLibOfiPass =
|
||||
inputs.crane.lib.${system}.overrideToolchain
|
||||
(
|
||||
inputs'.fenix.packages.stable.toolchain
|
||||
# .override {
|
||||
# date = "1.60.0";
|
||||
# }
|
||||
);
|
||||
in {
|
||||
dcpj4110dwDriver = dcpj4110dw.driver;
|
||||
dcpj4110dwCupswrapper = dcpj4110dw.cupswrapper;
|
||||
|
||||
# broken as of 2023-04-27 because it doesn't load without a config
|
||||
# aphorme_launcher = craneLib.buildPackage {src = inputs.aphorme_launcher;};
|
||||
# yofi = inputs'.yofi.packages.default;
|
||||
# ofi-pass = craneLibOfiPass.buildPackage {src = inputs.ofi-pass;};
|
||||
|
||||
inherit (inputs'.colmena.packages) colmena;
|
||||
|
||||
# jay = pkgs.callPackage (self + /nix/pkgs/jay.nix) {
|
||||
# src = inputs.jay;
|
||||
# rustPlatform = pkgs.makeRustPlatform {
|
||||
# cargo = inputs'.fenix.packages.stable.toolchain;
|
||||
# rustc = inputs'.fenix.packages.stable.toolchain;
|
||||
# };
|
||||
# };
|
||||
|
||||
salut = craneLib.buildPackage {
|
||||
src = inputs.salut;
|
||||
nativeBuildInputs = [
|
||||
pkgs.pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
pkgs.libxkbcommon
|
||||
pkgs.fontconfig
|
||||
];
|
||||
|
||||
packages =
|
||||
let
|
||||
dcpj4110dw = pkgs.callPackage (self + /nix/pkgs/dcpj4110dw) { };
|
||||
|
||||
craneLib =
|
||||
inputs.crane.lib.${system}.overrideToolchain
|
||||
inputs'.fenix.packages.stable.toolchain;
|
||||
|
||||
craneLibOfiPass =
|
||||
inputs.crane.lib.${system}.overrideToolchain
|
||||
(
|
||||
inputs'.fenix.packages.stable.toolchain
|
||||
# .override {
|
||||
# date = "1.60.0";
|
||||
# }
|
||||
);
|
||||
in
|
||||
{
|
||||
dcpj4110dwDriver = dcpj4110dw.driver;
|
||||
dcpj4110dwCupswrapper = dcpj4110dw.cupswrapper;
|
||||
|
||||
# broken as of 2023-04-27 because it doesn't load without a config
|
||||
# aphorme_launcher = craneLib.buildPackage {src = inputs.aphorme_launcher;};
|
||||
# yofi = inputs'.yofi.packages.default;
|
||||
# ofi-pass = craneLibOfiPass.buildPackage {src = inputs.ofi-pass;};
|
||||
|
||||
inherit (inputs'.colmena.packages) colmena;
|
||||
|
||||
# jay = pkgs.callPackage (self + /nix/pkgs/jay.nix) {
|
||||
# src = inputs.jay;
|
||||
# rustPlatform = pkgs.makeRustPlatform {
|
||||
# cargo = inputs'.fenix.packages.stable.toolchain;
|
||||
# rustc = inputs'.fenix.packages.stable.toolchain;
|
||||
# };
|
||||
# };
|
||||
|
||||
salut = craneLib.buildPackage {
|
||||
src = inputs.salut;
|
||||
nativeBuildInputs = [
|
||||
pkgs.pkg-config
|
||||
];
|
||||
buildInputs = [
|
||||
pkgs.libxkbcommon
|
||||
pkgs.fontconfig
|
||||
];
|
||||
};
|
||||
|
||||
prs = pkgs.callPackage
|
||||
({ pkgs
|
||||
, dbus
|
||||
, glib
|
||||
, gpgme
|
||||
, gtk3
|
||||
, libxcb
|
||||
, libxkbcommon
|
||||
, installShellFiles
|
||||
, pkg-config
|
||||
, python3
|
||||
}: craneLib.buildPackage {
|
||||
pname = "prs";
|
||||
version = inputs.prs.shortRev;
|
||||
src = inputs.prs;
|
||||
nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
glib
|
||||
gpgme
|
||||
gtk3
|
||||
libxcb
|
||||
libxkbcommon
|
||||
];
|
||||
|
||||
cargoExtraArgs = "--features backend-gpgme";
|
||||
|
||||
postInstall = ''
|
||||
for shell in bash fish zsh; do
|
||||
installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout)
|
||||
done
|
||||
'';
|
||||
})
|
||||
{ };
|
||||
|
||||
nomad = inputs'.nixpkgs-unstable-small.legacyPackages.nomad_1_6;
|
||||
|
||||
ledger-live-desktop-wrapped = pkgs.writeShellScriptBin "ledger-live-desktop-wrapped" ''
|
||||
set -x
|
||||
pkill -9 wayland-proxy-v
|
||||
export NIXOS_OZONE_WL=""
|
||||
${pkgs.wayland-proxy-virtwl}/bin/wayland-proxy-virtwl \
|
||||
--wayland-display=wayland-3 \
|
||||
--xwayland-binary=${pkgs.xwayland}/bin/Xwayland \
|
||||
--x-display=3 \
|
||||
&
|
||||
# --x-unscale=3 \
|
||||
#--verbose \
|
||||
|
||||
export PROXYPID="$!"
|
||||
|
||||
trap "kill -9 \$PROXYPID" EXIT
|
||||
# trap "pkill -9 wayland-proxy-v" EXIT
|
||||
|
||||
env \
|
||||
WAYLAND_DISPLAY=wayland-3 \
|
||||
DISPLAY=:3 \
|
||||
ledger-live-desktop
|
||||
'';
|
||||
|
||||
syncthing-container-webui = pkgs.writeShellScriptBin "reverse-port-forward-syncthing-container" ''
|
||||
ssh root@${self.colmena.sj-vps-htz0.deployment.targetHost} -L 8385:syncthing.containers:8384
|
||||
'';
|
||||
|
||||
logseq = pkgs.callPackage ./nix/pkgs/logseq
|
||||
(lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 {
|
||||
overrideSrc = self.inputs.logseq_0_10_5_aarch64_appimage;
|
||||
});
|
||||
};
|
||||
|
||||
formatter = pkgs.alejandra;
|
||||
|
||||
devShells =
|
||||
let
|
||||
all = import ./nix/devShells.nix {
|
||||
inherit
|
||||
self'
|
||||
inputs'
|
||||
pkgs
|
||||
;
|
||||
};
|
||||
in
|
||||
(all // { default = all.develop; });
|
||||
};
|
||||
|
||||
flake.nixosModules = {
|
||||
# thinkpad-x13s = { pkgs, config, lib, options, ... } @ args: (import ./nix/os/modules/hardware.thinkpad-x13s.nix (args // { inherit self; }));
|
||||
prs =
|
||||
pkgs.callPackage
|
||||
({
|
||||
pkgs,
|
||||
dbus,
|
||||
glib,
|
||||
gpgme,
|
||||
gtk3,
|
||||
libxcb,
|
||||
libxkbcommon,
|
||||
installShellFiles,
|
||||
pkg-config,
|
||||
python3,
|
||||
}:
|
||||
craneLib.buildPackage {
|
||||
pname = "prs";
|
||||
version = inputs.prs.shortRev;
|
||||
src = inputs.prs;
|
||||
nativeBuildInputs = [gpgme installShellFiles pkg-config python3];
|
||||
|
||||
buildInputs = [
|
||||
dbus
|
||||
glib
|
||||
gpgme
|
||||
gtk3
|
||||
libxcb
|
||||
libxkbcommon
|
||||
];
|
||||
|
||||
cargoExtraArgs = "--features backend-gpgme";
|
||||
|
||||
postInstall = ''
|
||||
for shell in bash fish zsh; do
|
||||
installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout)
|
||||
done
|
||||
'';
|
||||
})
|
||||
{};
|
||||
|
||||
nomad = inputs'.nixpkgs-unstable-small.legacyPackages.nomad_1_6;
|
||||
|
||||
ledger-live-desktop-wrapped = pkgs.writeShellScriptBin "ledger-live-desktop-wrapped" ''
|
||||
set -x
|
||||
pkill -9 wayland-proxy-v
|
||||
export NIXOS_OZONE_WL=""
|
||||
${pkgs.wayland-proxy-virtwl}/bin/wayland-proxy-virtwl \
|
||||
--wayland-display=wayland-3 \
|
||||
--xwayland-binary=${pkgs.xwayland}/bin/Xwayland \
|
||||
--x-display=3 \
|
||||
&
|
||||
# --x-unscale=3 \
|
||||
#--verbose \
|
||||
|
||||
export PROXYPID="$!"
|
||||
|
||||
trap "kill -9 \$PROXYPID" EXIT
|
||||
# trap "pkill -9 wayland-proxy-v" EXIT
|
||||
|
||||
env \
|
||||
WAYLAND_DISPLAY=wayland-3 \
|
||||
DISPLAY=:3 \
|
||||
ledger-live-desktop
|
||||
'';
|
||||
|
||||
syncthing-container-webui = pkgs.writeShellScriptBin "reverse-port-forward-syncthing-container" ''
|
||||
ssh root@${self.colmena.sj-vps-htz0.deployment.targetHost} -L 8385:syncthing.containers:8384
|
||||
'';
|
||||
|
||||
logseq =
|
||||
pkgs.callPackage ./nix/pkgs/logseq
|
||||
(lib.attrsets.optionalAttrs pkgs.stdenv.isAarch64 {
|
||||
overrideSrc = self.inputs.logseq_0_10_5_aarch64_appimage;
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
formatter = pkgs.alejandra;
|
||||
|
||||
devShells = let
|
||||
all = import ./nix/devShells.nix {
|
||||
inherit
|
||||
self'
|
||||
inputs'
|
||||
pkgs
|
||||
;
|
||||
};
|
||||
in (all // {default = all.develop;});
|
||||
};
|
||||
|
||||
flake.nixosModules = {
|
||||
# thinkpad-x13s = { pkgs, config, lib, options, ... } @ args: (import ./nix/os/modules/hardware.thinkpad-x13s.nix (args // { inherit self; }));
|
||||
};
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue