nix/flake.nix
2022-03-24 18:03:59 -04:00

121 lines
3.9 KiB
Nix

{
description = "Mr Hedgehog's Nix config with flakes";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixos.url = "github:nixos/nixpkgs?rev=9bc841fec1c0e8b9772afa29f934d2c7ce57da8e";
nixos-hardware.url = "github:nixos/nixos-hardware";
my-nixpkgs.url = "github:ModdedGamers/nixpkgs/python-gasp-init";
my-kanshi.url = "github:ModdedGamers/nixpkgs/kanshi-srht-fix";
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
alejandra.url = "github:kamadorueda/alejandra";
alejandra.inputs.nixpkgs.follows = "nixpkgs";
doom-emacs.url = "github:nix-community/nix-doom-emacs";
doom-emacs.inputs.nixpkgs.follows = "nixpkgs";
emacs.url = "github:nix-community/emacs-overlay?rev=ccb4f7c6af0b2dc5c02aec6f28d5cffb199087c4";
emacs.inputs.nixpkgs.follows = "nixos";
home.url = "github:nix-community/home-manager";
home.inputs.nixpkgs.follows = "nixpkgs";
neovim.url = "github:nix-community/neovim-nightly-overlay";
neovim.inputs.nixpkgs.follows = "nixpkgs";
nixgl.url = "github:guibou/nixGL";
nixgl.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs-update.url = "github:ryantm/nixpkgs-update";
nur.url = "github:nix-community/nur";
nur.inputs.nixpkgs.follows = "nixpkgs";
statix.url = "github:NerdyPepper/statix";
statix.inputs.nixpkgs.follows = "nixpkgs";
tokyo-night-ff.url = "github:rototrash/tokyo-night-fox";
tokyo-night-ff.flake = false;
vim-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins";
vim-plugins.inputs.nixpkgs.follows = "nixpkgs";
wayland.url = "github:nix-community/nixpkgs-wayland";
wayland.inputs.nixpkgs.url = "nixpkgs";
};
outputs = inputs @ {
self,
nixpkgs,
nixos,
nixos-hardware,
my-nixpkgs,
my-kanshi,
agenix,
alejandra,
doom-emacs,
emacs,
home,
neovim,
nixgl,
nixpkgs-update,
nur,
statix,
tokyo-night-ff,
vim-plugins,
wayland,
}: let
nixos-overlay = final: prev: {
nixos = import nixos {
inherit system;
config.allowUnfree = true;
overlays = [
emacs.overlay
];
};
};
alejandra-overlay = final: prev: {alejandra = alejandra.defaultPackage.${prev.system};};
my-nixpkgs-overlay = final: prev: { my-nixpkgs = import my-nixpkgs { inherit system;};};
my-kanshi-overlay = final: prev: { my-kanshi = import my-kanshi { inherit system;};};
nixpkgs-update-overlay = final: prev: {nixpkgs-update = nixpkgs-update.defaultPackage.${prev.system};};
my-pkgs = final: prev: {my-pkgs = self.packages."${prev.system}";};
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
input-fonts.acceptLicense = true;
};
overlays = [
(import ./pkgs/default.nix {inherit inputs;})
(import ./overlays/gopass-jsonapi.nix {inherit pkgs;})
my-kanshi-overlay
my-nixpkgs-overlay
my-pkgs
alejandra-overlay
nixos-overlay
neovim.overlay
nixgl.overlay
nixpkgs-update-overlay
nur.overlay
statix.overlay
vim-plugins.overlay
wayland.overlay
];
};
in {
packages.${system} = {
"sway-launcher-desktop" = pkgs.callPackage ./pkgs/sway-launcher-desktop.nix {};
"taskwarrior-tui" = pkgs.callPackage ./pkgs/taskwarrior-tui.nix {};
"tokyo-night-gtk" = pkgs.callPackage ./pkgs/tokyo-night-gtk.nix {};
};
# nixosConfigurations.zaphod = import ./hosts/zaphod {
# inherit nixpkgs pkgs inputs system;
# };
homeConfigurations.mrhedgehog = home.lib.homeManagerConfiguration {
inherit pkgs system;
username = "mrhedgehog";
stateVersion = "22.05";
homeDirectory = "/home/mrhedgehog";
configuration.imports = [./home.nix doom-emacs.hmModule];
};
colmena = import ./hosts/default.nix;
};
}