-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathflake.nix
More file actions
117 lines (109 loc) · 4.23 KB
/
Copy pathflake.nix
File metadata and controls
117 lines (109 loc) · 4.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
description = "famedly-openpgp-scripts (short fos)";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixpkgs-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
plasma-manager = {
url = "github:nix-community/plasma-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager";
};
yubikeyGuide = {
url = "github:drduh/YubiKey-Guide";
flake = false;
};
};
outputs =
inputs@{
self,
nixpkgs,
flake-parts,
home-manager,
plasma-manager,
...
}:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [ ];
systems = [
"x86_64-linux"
"aarch64-linux"
];
perSystem =
{ pkgs, ... }:
{
formatter = pkgs.nixpkgs-fmt;
packages = {
# Famedly CA Scripts
fca-mount = pkgs.writeShellScriptBin "fca-mount" (builtins.readFile ./fca-mount);
fca-partitions = pkgs.writeShellScriptBin "fca-partitions" (builtins.readFile ./fca-partitions);
fca-sync = pkgs.writeShellScriptBin "fca-sync" (builtins.readFile ./fca-sync);
fca-tools = pkgs.writeShellScriptBin "fca-tools" (builtins.readFile ./fca-tools);
fca-working-directory = pkgs.writeShellScriptBin "fca-working-directory" (
builtins.readFile ./fca-working-directory
);
# Famedly OpenPGP Scripts
fos-export = pkgs.writeShellScriptBin "fos-export" (builtins.readFile ./fos-export);
fos-flash = pkgs.writeShellScriptBin "fos-flash" (builtins.readFile ./fos-flash);
fos-generate = pkgs.writeShellScriptBin "fos-generate" (builtins.readFile ./fos-generate);
fos-mount = pkgs.writeShellScriptBin "fos-mount" (builtins.readFile ./fos-mount);
fos-partitions = pkgs.writeShellScriptBin "fos-partitions" (builtins.readFile ./fos-partitions);
fos-renew = pkgs.writeShellScriptBin "fos-renew" (builtins.readFile ./fos-renew);
fos-rotate-passwords = pkgs.writeShellScriptBin "fos-rotate-passwords" (
builtins.readFile ./fos-rotate-passwords
);
fos-sync = pkgs.writeShellScriptBin "fos-sync" (builtins.readFile ./fos-sync);
fos-working-directory = pkgs.writeShellScriptBin "fos-working-directory" (
builtins.readFile ./fos-working-directory
);
openpgp-ca = pkgs.openpgp-ca.overrideAttrs (prevAttrs: rec {
version = "${prevAttrs.version}-famedly";
src = pkgs.fetchFromGitHub {
owner = "famedly";
repo = "openpgp-ca";
rev = "expose-more-functionality";
hash = "sha256-+dAwGq3/86A1oLGdjvRHLmS+SiZrv/DqTi+fTRG8uZQ=";
};
cargoDeps = prevAttrs.cargoDeps.overrideAttrs (
pkgs.lib.const {
name = "${prevAttrs.pname}-vendor.tar.gz";
inherit src;
outputHash = "sha256-hmgWa4pas3qngs6MNPzk3fPG5+jFRph0lGZvtUF4/tA=";
}
);
});
};
};
flake =
let
mkSystem =
system:
nixpkgs.lib.nixosSystem {
inherit system;
modules = [
"${nixpkgs}/nixos/modules/profiles/all-hardware.nix"
"${nixpkgs}/nixos/modules/installer/cd-dvd/iso-image.nix"
./iso.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ];
home-manager.users.nixos = import ./home.nix;
}
];
specialArgs = {
inherit inputs;
flake = self;
};
};
in
{
nixosConfigurations.fos-live = mkSystem "x86_64-linux";
nixosConfigurations.fos-live-aarch64 = mkSystem "aarch64-linux";
};
};
}