-
Notifications
You must be signed in to change notification settings - Fork 69
/
flake.nix
117 lines (92 loc) · 2.83 KB
/
flake.nix
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 = "gvolpe's Home Manager & NixOS configurations";
nixConfig = {
extra-substituters = [
"https://cache.nixos.org"
"https://cache.garnix.io"
];
extra-trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
];
};
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
flake-schemas.url = "github:gvolpe/flake-schemas";
# https://github.com/NixOS/nixpkgs/commit/c3160517fc6381f86776795e95c97b8ef7b5d2e4
nixpkgs-mega.url = "nixpkgs/c3160517fc6381f86776795e95c97b8ef7b5d2e4";
## nix client with schema support: see https://github.com/NixOS/nix/pull/8892
nix-schema = {
inputs.flake-schemas.follows = "flake-schemas";
url = "github:DeterminateSystems/nix-src/flake-schemas";
};
rycee-nurpkgs = {
url = gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons;
inputs.nixpkgs.follows = "nixpkgs";
};
nurpkgs.url = github:nix-community/NUR;
home-manager = {
url = github:nix-community/home-manager;
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-flake = {
#url = git+file:///home/gvolpe/workspace/neovim-flake;
url = github:gvolpe/neovim-flake;
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-schemas.follows = "flake-schemas";
};
# Fish shell
fish-bobthefish-theme = {
url = github:gvolpe/theme-bobthefish;
flake = false;
};
fish-keytool-completions = {
url = github:ckipp01/keytool-fish-completions;
flake = false;
};
# Github Markdown ToC generator
gh-md-toc = {
url = github:ekalinin/github-markdown-toc;
flake = false;
};
# Nix linter
statix = {
url = github:nerdypepper/statix;
inputs.nixpkgs.follows = "nixpkgs";
};
# Miscelaneous
cowsay = {
url = github:snowfallorg/cowsay;
inputs.nixpkgs.follows = "nixpkgs";
};
# Firefox style
penguin-fox = {
url = github:p3nguin-kun/penguinFox;
flake = false;
};
};
outputs = inputs:
let
system = "x86_64-linux";
overlays = import ./lib/overlays.nix { inherit inputs system; };
pkgs = import inputs.nixpkgs {
inherit overlays system;
config.allowUnfree = true;
};
in
{
schemas =
inputs.flake-schemas.schemas //
import ./lib/schemas.nix { inherit (inputs) flake-schemas; };
homeConfigurations = pkgs.mkHomeConfigurations { };
nixosConfigurations = pkgs.mkNixosConfigurations { };
out = { inherit pkgs overlays; };
apps.${system}."nix" = {
type = "app";
program = "${pkgs.nix-schema}/bin/nix-schema";
};
packages.${system} = {
inherit (pkgs) bazecor metals metals-updater;
};
};
}