146 lines
4.7 KiB
Nix
146 lines
4.7 KiB
Nix
{
|
|
description = "Mr Hedgehog's Nix config with flakes";
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
nixos.url = "github:nixos/nixpkgs?rev=7f9b6e2babf232412682c09e57ed666d8f84ac2d";
|
|
nixos-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
nixos-hardware.url = "github:nixos/nixos-hardware";
|
|
# my-nixpkgs.url = "github:ModdedGamers/nixpkgs/python-gasp-init";
|
|
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=f920a177e299989ddcdda5d4875879cf0301c96c";
|
|
emacs.inputs.nixpkgs.follows = "nixos";
|
|
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";
|
|
neovim.url = "github:nix-community/neovim-nightly-overlay";
|
|
neovim.inputs.nixpkgs.follows = "nixpkgs";
|
|
nixgl.url = "github:guibou/nixGL";
|
|
nixgl.inputs.nixpkgs.follows = "nixpkgs";
|
|
nixos-generators.url = "github:nix-community/nixos-generators";
|
|
nixos-generators.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";
|
|
};
|
|
|
|
outputs = inputs @ {
|
|
self,
|
|
nixpkgs,
|
|
nixos,
|
|
nixos-unstable,
|
|
nixos-hardware,
|
|
# my-nixpkgs,
|
|
agenix,
|
|
alejandra,
|
|
doom-emacs,
|
|
emacs,
|
|
home-manager,
|
|
home-manager-nixos,
|
|
neovim,
|
|
nixgl,
|
|
nixos-generators,
|
|
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;};};
|
|
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;
|
|
localSystem = "x86_64-linux";
|
|
config = {
|
|
allowUnfree = true;
|
|
input-fonts.acceptLicense = true;
|
|
};
|
|
overlays = [
|
|
(import ./pkgs/default.nix {inherit inputs;})
|
|
# 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 {};
|
|
|
|
# NixOS image builders
|
|
iso = nixos-generators.nixosGenerate {
|
|
pkgs = pkgs;
|
|
format = "iso";
|
|
};
|
|
vm = nixos-generators.nixosGenerate {
|
|
pkgs = pkgs;
|
|
format = "vm";
|
|
};
|
|
qemu-img = nixos-generators.nixosGenerate {
|
|
pkgs = pkgs;
|
|
format = "qcow";
|
|
};
|
|
};
|
|
|
|
nixosConfigurations.zaphod = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./hosts/zaphod/configuration.nix
|
|
inputs.home-manager-nixos.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.users.mrhedgehog = import ./home.nix {inherit inputs system pkgs;};
|
|
# home-manager.sharedModules = [ inputs.doom-emacs.hmModule ];
|
|
}
|
|
];
|
|
};
|
|
|
|
homeConfigurations.mrhedgehog = home-manager.lib.homeManagerConfiguration {
|
|
inherit pkgs system;
|
|
username = "mrhedgehog";
|
|
stateVersion = "22.05";
|
|
homeDirectory = "/home/mrhedgehog";
|
|
configuration.imports = [./home.nix];
|
|
};
|
|
};
|
|
}
|