nix/flake.nix

132 lines
4.3 KiB
Nix
Raw Normal View History

2022-01-28 14:25:01 +00:00
{
2022-02-07 01:24:15 +00:00
description = "Mr Hedgehog's Nix config with flakes";
2022-01-29 18:43:43 +00:00
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixos.url = "github:nixos/nixpkgs?rev=7f9b6e2babf232412682c09e57ed666d8f84ac2d";
2022-03-30 01:57:59 +00:00
nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
2022-01-29 18:43:43 +00:00
nixos-hardware.url = "github:nixos/nixos-hardware";
# my-nixpkgs.url = "github:ModdedGamers/nixpkgs/python-gasp-init";
2022-02-07 20:06:51 +00:00
agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
2022-02-07 01:24:15 +00:00
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=f920a177e299989ddcdda5d4875879cf0301c96c";
2022-02-07 20:06:51 +00:00
emacs.inputs.nixpkgs.follows = "nixos";
2022-03-30 01:57:59 +00:00
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
home-manager-nixos.url = "github:nix-community/home-manager";
home-manager-nixos.inputs.nixpkgs.follows = "nixos-unstable";
2022-01-29 18:43:43 +00:00
neovim.url = "github:nix-community/neovim-nightly-overlay";
neovim.inputs.nixpkgs.follows = "nixpkgs";
2022-02-11 18:10:00 +00:00
nixgl.url = "github:guibou/nixGL";
nixgl.inputs.nixpkgs.follows = "nixpkgs";
2022-02-17 19:49:06 +00:00
nixpkgs-update.url = "github:ryantm/nixpkgs-update";
2022-02-07 01:24:15 +00:00
nur.url = "github:nix-community/nur";
nur.inputs.nixpkgs.follows = "nixpkgs";
statix.url = "github:NerdyPepper/statix";
statix.inputs.nixpkgs.follows = "nixpkgs";
2022-03-24 22:03:59 +00:00
tokyo-night-ff.url = "github:rototrash/tokyo-night-fox";
tokyo-night-ff.flake = false;
2022-02-09 18:40:36 +00:00
vim-plugins.url = "github:m15a/nixpkgs-vim-extra-plugins";
vim-plugins.inputs.nixpkgs.follows = "nixpkgs";
2022-02-07 01:24:15 +00:00
wayland.url = "github:nix-community/nixpkgs-wayland";
2022-01-29 18:43:43 +00:00
};
2022-03-16 10:43:47 +00:00
2022-02-27 20:57:58 +00:00
outputs = inputs @ {
self,
nixpkgs,
nixos,
2022-03-30 01:57:59 +00:00
nixos-unstable,
2022-02-27 20:57:58 +00:00
nixos-hardware,
# my-nixpkgs,
2022-02-27 20:57:58 +00:00
agenix,
alejandra,
doom-emacs,
emacs,
2022-03-30 01:57:59 +00:00
home-manager,
home-manager-nixos,
2022-02-27 20:57:58 +00:00
neovim,
nixgl,
nixpkgs-update,
nur,
statix,
2022-03-24 22:03:59 +00:00
tokyo-night-ff,
2022-02-27 20:57:58 +00:00
vim-plugins,
wayland,
}: let
2022-03-16 10:43:47 +00:00
2022-02-27 20:57:58 +00:00
nixos-overlay = final: prev: {
nixos = import nixos {
2022-02-07 01:24:15 +00:00
inherit system;
2022-02-07 20:06:51 +00:00
config.allowUnfree = true;
overlays = [
2022-02-27 20:57:58 +00:00
emacs.overlay
2022-02-07 01:24:15 +00:00
];
};
2022-02-27 20:57:58 +00:00
};
2022-03-16 10:43:47 +00:00
alejandra-overlay = final: prev: {alejandra = alejandra.defaultPackage.${prev.system};};
# my-nixpkgs-overlay = final: prev: { my-nixpkgs = import my-nixpkgs { inherit system;};};
2022-02-27 20:57:58 +00:00
nixpkgs-update-overlay = final: prev: {nixpkgs-update = nixpkgs-update.defaultPackage.${prev.system};};
my-pkgs = final: prev: {my-pkgs = self.packages."${prev.system}";};
2022-03-16 10:43:47 +00:00
2022-02-27 20:57:58 +00:00
system = "x86_64-linux";
2022-03-16 10:43:47 +00:00
2022-02-27 20:57:58 +00:00
pkgs = import nixpkgs {
2022-03-29 22:12:22 +00:00
# inherit system;
localSystem = "x86_64-linux";
2022-03-16 10:43:47 +00:00
config = {
allowUnfree = true;
input-fonts.acceptLicense = true;
};
2022-02-27 20:57:58 +00:00
overlays = [
(import ./pkgs/default.nix {inherit inputs;})
# my-nixpkgs-overlay
2022-02-27 20:57:58 +00:00
my-pkgs
alejandra-overlay
nixos-overlay
neovim.overlay
nixgl.overlay
nixpkgs-update-overlay
nur.overlay
statix.overlay
vim-plugins.overlay
wayland.overlay
];
};
2022-03-16 10:43:47 +00:00
2022-02-27 20:57:58 +00:00
in {
packages.${system} = {
"sway-launcher-desktop" = pkgs.callPackage ./pkgs/sway-launcher-desktop.nix {};
"taskwarrior-tui" = pkgs.callPackage ./pkgs/taskwarrior-tui.nix {};
2022-03-24 22:03:59 +00:00
"tokyo-night-gtk" = pkgs.callPackage ./pkgs/tokyo-night-gtk.nix {};
2022-02-27 20:57:58 +00:00
};
2022-02-11 18:10:00 +00:00
2022-03-29 22:12:22 +00:00
nixosConfigurations.zaphod = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
2022-03-30 01:57:59 +00:00
modules = [
./hosts/zaphod/configuration.nix
2022-03-30 12:43:56 +00:00
inputs.home-manager-nixos.nixosModules.home-manager
2022-03-30 01:57:59 +00:00
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
2022-03-30 17:30:00 +00:00
# home-manager.users.mrhedgehog = (with doom-emacs pkgs inputs; import ./home.nix);
2022-03-30 01:57:59 +00:00
home-manager.users.mrhedgehog = import ./home.nix;
2022-03-31 02:40:58 +00:00
home-manager.sharedModules = [ inputs.doom-emacs.hmModule ];
home-manager.extraSpecialArgs = { inherit pkgs inputs; };
2022-03-30 01:57:59 +00:00
}
];
2022-03-29 22:12:22 +00:00
};
2022-03-16 10:43:47 +00:00
2022-03-30 01:57:59 +00:00
homeConfigurations.mrhedgehog = home-manager.lib.homeManagerConfiguration {
2022-02-27 20:57:58 +00:00
inherit pkgs system;
username = "mrhedgehog";
stateVersion = "22.05";
homeDirectory = "/home/mrhedgehog";
2022-03-30 12:43:56 +00:00
configuration.imports = [./home.nix];
2022-02-27 20:57:58 +00:00
};
};
2022-01-28 14:25:01 +00:00
}