mirror of
https://git.sr.ht/~magic_rb/dotfiles
synced 2024-11-25 09:36:14 +01:00
110 lines
3.3 KiB
Nix
110 lines
3.3 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-20.09";
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs?ref=nixos-unstable";
|
|
nixpkgs-master.url = "github:NixOS/nixpkgs?ref=master";
|
|
|
|
ra-systems = {
|
|
url = "git+https://gitea.redalder.org/RedAlder/systems";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager?ref=release-20.09";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
# PACKAGES
|
|
## Rust Things
|
|
rust-overlay = {
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
url = "github:oxalica/rust-overlay";
|
|
};
|
|
|
|
## sss-cli
|
|
sss-cli = {
|
|
flake = false;
|
|
url = "github:dsprenkels/sss-cli";
|
|
};
|
|
|
|
## Emacs
|
|
emacs-overlay = {
|
|
url = "git+https://github.com/nix-community/emacs-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
emacs = {
|
|
# type = "git";
|
|
#url = "https://git.savannah.gnu.org/git/emacs.git";
|
|
url = "github:flatwhatson/emacs?ref=pgtk-nativecomp";
|
|
#ref = "feature/native-comp";
|
|
flake = false;
|
|
};
|
|
vtermModule = {
|
|
url = "git+https://github.com/akermu/emacs-libvterm";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, home-manager, ... }@inputs:
|
|
with inputs; let
|
|
halfFlakes = rlib.callHalfFlakes {
|
|
sss-cli = ./packages/sss-cli;
|
|
atom-shell = ./packages/atom-shell;
|
|
emacs = ./packages/emacs;
|
|
emacsclient-remote = ./packages/emacsclient-remote;
|
|
enter-env = ./packages/enter-env;
|
|
screenshot = ./packages/screenshot;
|
|
multimc-devel = ./packages/multimc-devel;
|
|
concourse = ./packages/concourse-ci;
|
|
gpg-key = ./packages/gpg-key;
|
|
};
|
|
rlib = import ./rlib.nix {
|
|
inherit nixpkgs home-manager inputs;
|
|
pkgs = {
|
|
inherit nixpkgs nixpkgs-unstable nixpkgs-master;
|
|
};
|
|
custom = with rlib; {
|
|
rust =
|
|
system:
|
|
let
|
|
rustyPkgs = import inputs.nixpkgs {
|
|
overlays = [ inputs.rust-overlay.overlay ];
|
|
inherit system;
|
|
};
|
|
in
|
|
rustyPkgs.rust-bin;
|
|
} // halfFlakes;
|
|
self = rlib;
|
|
};
|
|
|
|
rmodules = {
|
|
klippy = ra-systems.flakes.klippy.nixosModules.klippy;
|
|
moonraker = ra-systems.flakes.moonraker.nixosModules.moonraker;
|
|
mainsail = ra-systems.flakes.mainsail.nixosModules.mainsail;
|
|
home-manager = inputs.home-manager.nixosModules.home-manager;
|
|
};
|
|
|
|
omen = rlib.nixosSystem (import ./systems/omen.nix inputs);
|
|
heater = rlib.nixosSystem (import ./systems/heater.nix inputs);
|
|
mark = rlib.nixosSystem (import ./systems/mark.nix inputs);
|
|
|
|
edge = rlib.homeManagerConfiguration (import ./systems/edge.nix);
|
|
blowhole = rlib.homeManagerConfiguration (import ./systems/blowhole.nix);
|
|
in {
|
|
nixosConfigurations.omen = omen;
|
|
omen = omen.config.system.build.toplevel;
|
|
|
|
nixosConfigurations.heater = heater;
|
|
heater = heater.config.system.build.toplevel;
|
|
|
|
nixosConfigurations.mark = mark;
|
|
mark = mark.config.system.build.toplevel;
|
|
|
|
homeConfigurations.edge = edge;
|
|
edge = edge.activationPackage;
|
|
|
|
homeConfigurations.blowhole = blowhole;
|
|
blowhole = blowhole.activationPackage;
|
|
} // halfFlakes;
|
|
}
|