2021-11-25 19:35:21 +01:00
|
|
|
{
|
|
|
|
|
description = "NixOS configuration";
|
|
|
|
|
|
2022-05-01 10:32:31 +02:00
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
2023-08-24 15:53:40 +02:00
|
|
|
nixpkgs-traxys.url = "github:traxys/nixpkgs/inflight";
|
2022-11-20 21:16:25 +01:00
|
|
|
nix-gaming.url = "github:fufexan/nix-gaming";
|
2022-05-01 10:32:31 +02:00
|
|
|
home-manager = {
|
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2021-11-25 19:35:21 +01:00
|
|
|
};
|
2022-05-01 10:32:31 +02:00
|
|
|
nix-alien.url = "github:thiagokokada/nix-alien";
|
|
|
|
|
nix-ld.url = "github:Mic92/nix-ld/main";
|
|
|
|
|
nvim-traxys = {
|
|
|
|
|
url = "github:traxys/nvim-flake";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-05-07 18:24:31 +02:00
|
|
|
inputs.nixfiles.follows = "/";
|
2022-05-01 10:32:31 +02:00
|
|
|
};
|
2022-07-17 11:46:23 +02:00
|
|
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
2022-07-17 16:55:00 +02:00
|
|
|
naersk.url = "github:nix-community/naersk";
|
2022-07-21 00:42:37 +02:00
|
|
|
comma.url = "github:nix-community/comma";
|
2022-08-14 14:51:24 +02:00
|
|
|
raclette.url = "github:traxys/raclette";
|
2022-11-20 18:37:35 +01:00
|
|
|
nur.url = "github:nix-community/NUR";
|
|
|
|
|
|
2023-03-26 00:28:31 +01:00
|
|
|
nix-index-database.url = "github:Mic92/nix-index-database";
|
|
|
|
|
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
|
2022-11-20 18:37:35 +01:00
|
|
|
# Extra Package Sources
|
2023-10-23 12:16:21 +02:00
|
|
|
meson-syntax = {
|
|
|
|
|
url = "github:Monochrome-Sauce/sublime-meson";
|
|
|
|
|
flake = false;
|
|
|
|
|
};
|
2022-11-20 18:37:35 +01:00
|
|
|
simulationcraft = {
|
|
|
|
|
url = "github:simulationcraft/simc";
|
|
|
|
|
flake = false;
|
|
|
|
|
};
|
|
|
|
|
kabalist = {
|
|
|
|
|
url = "github:traxys/kabalist";
|
|
|
|
|
flake = false;
|
|
|
|
|
};
|
2023-02-12 13:12:37 +01:00
|
|
|
roaming_proxy.url = "github:traxys/roaming_proxy";
|
2023-03-25 23:53:52 +01:00
|
|
|
zsh-nix-shell = {
|
|
|
|
|
url = "github:chisui/zsh-nix-shell";
|
|
|
|
|
flake = false;
|
|
|
|
|
};
|
|
|
|
|
powerlevel10k = {
|
|
|
|
|
url = "github:romkatv/powerlevel10k";
|
|
|
|
|
flake = false;
|
|
|
|
|
};
|
|
|
|
|
fast-syntax-highlighting = {
|
|
|
|
|
url = "github:zdharma-continuum/fast-syntax-highlighting";
|
|
|
|
|
flake = false;
|
|
|
|
|
};
|
2023-10-18 14:47:45 +02:00
|
|
|
mujmap.url = "github:elizagamedev/mujmap";
|
2022-05-01 10:32:31 +02:00
|
|
|
};
|
2021-11-25 19:35:21 +01:00
|
|
|
|
2022-05-01 10:32:31 +02:00
|
|
|
outputs = {
|
2022-10-31 16:42:44 +01:00
|
|
|
self,
|
2022-05-01 10:32:31 +02:00
|
|
|
home-manager,
|
|
|
|
|
nixpkgs,
|
2023-08-19 18:53:53 +02:00
|
|
|
nixpkgs-traxys,
|
2022-05-01 10:32:31 +02:00
|
|
|
...
|
2022-11-20 18:37:35 +01:00
|
|
|
} @ inputs: let
|
2023-05-31 14:51:52 +02:00
|
|
|
sources = system:
|
2022-11-20 18:37:35 +01:00
|
|
|
{
|
2023-06-04 12:01:07 +02:00
|
|
|
inherit (inputs) simulationcraft kabalist;
|
2022-11-20 18:37:35 +01:00
|
|
|
}
|
2023-05-31 14:51:52 +02:00
|
|
|
// (nixpkgs.legacyPackages."${system}".callPackage ./_sources/generated.nix {});
|
2023-02-12 13:11:59 +01:00
|
|
|
|
|
|
|
|
pkgList = system: callPackage:
|
|
|
|
|
(import ./pkgs/default.nix {
|
2023-05-31 14:51:52 +02:00
|
|
|
inherit callPackage;
|
|
|
|
|
sources = sources system;
|
2023-02-12 13:11:59 +01:00
|
|
|
naersk = inputs.naersk.lib."${system}";
|
|
|
|
|
})
|
|
|
|
|
// {
|
|
|
|
|
raclette = inputs.raclette.defaultPackage."${system}";
|
|
|
|
|
neovimTraxys = inputs.nvim-traxys.packages."${system}".nvim;
|
2023-03-25 23:56:33 +01:00
|
|
|
roaming_proxy = inputs.roaming_proxy.defaultPackage."${system}";
|
2023-08-24 15:53:40 +02:00
|
|
|
inherit (nixpkgs-traxys.legacyPackages."${system}") djlint groovy-language-server;
|
2023-10-18 14:47:45 +02:00
|
|
|
inherit (inputs.mujmap.packages."${system}") mujmap;
|
2023-02-12 13:11:59 +01:00
|
|
|
};
|
2023-03-26 15:41:53 +02:00
|
|
|
|
|
|
|
|
extraInfo = import ./extra_info.nix;
|
2022-11-20 18:37:35 +01:00
|
|
|
in {
|
2022-10-31 16:35:31 +01:00
|
|
|
templates = {
|
|
|
|
|
rust = {
|
|
|
|
|
path = ./templates/rust;
|
|
|
|
|
description = "My rust template using rust-overlay and direnv";
|
|
|
|
|
};
|
2023-05-07 18:24:31 +02:00
|
|
|
perseus = {
|
|
|
|
|
path = ./templates/perseus;
|
|
|
|
|
description = "A perseus frontend with rust-overlay & direnv";
|
|
|
|
|
};
|
2023-05-17 18:58:52 +02:00
|
|
|
webapp = {
|
|
|
|
|
path = ./templates/webapp;
|
|
|
|
|
description = "A template for a web application (frontend + backend)";
|
|
|
|
|
};
|
2022-10-31 16:35:31 +01:00
|
|
|
};
|
2023-02-12 13:11:59 +01:00
|
|
|
packages.x86_64-linux = pkgList "x86_64-linux" nixpkgs.legacyPackages.x86_64-linux.callPackage;
|
2023-05-31 14:51:52 +02:00
|
|
|
packages.aarch64-linux = pkgList "aarch64-linux" nixpkgs.legacyPackages.aarch64-linux.callPackage;
|
2023-03-26 00:22:30 +01:00
|
|
|
|
|
|
|
|
hmModules = {
|
2023-03-26 15:41:53 +02:00
|
|
|
minimal = import ./minimal/hm.nix {
|
2023-03-26 19:30:25 +02:00
|
|
|
inherit inputs extraInfo;
|
2023-03-26 00:22:30 +01:00
|
|
|
flake = self;
|
|
|
|
|
};
|
2023-03-26 16:04:43 +02:00
|
|
|
personal-cli = import ./personal-cli/hm.nix;
|
2023-03-26 16:28:36 +02:00
|
|
|
personal-gui = import ./personal-gui/hm.nix;
|
2023-03-26 17:23:45 +02:00
|
|
|
gaming = import ./gaming/hm.nix;
|
2023-07-04 19:59:43 +02:00
|
|
|
work = import ./hostconfig/thinkpad-nixos/work.nix;
|
2023-03-26 00:22:30 +01:00
|
|
|
};
|
|
|
|
|
|
2023-03-26 15:41:53 +02:00
|
|
|
nixosModules = {
|
|
|
|
|
minimal = import ./minimal/nixos.nix {
|
|
|
|
|
inherit extraInfo;
|
|
|
|
|
};
|
2023-03-26 16:04:43 +02:00
|
|
|
personal-cli = import ./personal-cli/nixos.nix;
|
2023-03-26 16:28:36 +02:00
|
|
|
personal-gui = import ./personal-gui/nixos.nix;
|
2023-03-26 17:17:20 +02:00
|
|
|
roaming = import ./roaming/nixos.nix;
|
2023-03-26 17:23:45 +02:00
|
|
|
gaming = import ./gaming/nixos.nix;
|
2023-03-26 15:41:53 +02:00
|
|
|
};
|
|
|
|
|
|
2023-03-26 00:22:30 +01:00
|
|
|
overlays.x86_64-linux = final: prev: pkgList "x86_64-linux" prev.callPackage;
|
2023-05-31 14:51:52 +02:00
|
|
|
overlays.aarch64-linux = final: prev: pkgList "aarch64-linux" prev.callPackage;
|
2023-03-26 00:22:30 +01:00
|
|
|
|
2023-03-26 19:44:04 +02:00
|
|
|
nixosConfigurations = {
|
2021-11-25 19:35:21 +01:00
|
|
|
ZeNixLaptop = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
modules = [
|
2023-03-26 15:41:53 +02:00
|
|
|
./hostconfig/ZeNixComputa/extra_info.nix
|
|
|
|
|
self.nixosModules.minimal
|
2023-03-26 16:04:43 +02:00
|
|
|
self.nixosModules.personal-cli
|
2023-03-26 16:28:36 +02:00
|
|
|
self.nixosModules.personal-gui
|
2023-03-26 17:23:45 +02:00
|
|
|
self.nixosModules.gaming
|
2022-05-01 10:32:31 +02:00
|
|
|
({pkgs, ...}: {
|
2021-11-25 19:35:21 +01:00
|
|
|
nixpkgs.overlays = [
|
2022-11-20 21:16:25 +01:00
|
|
|
inputs.nur.overlay
|
2022-07-17 11:46:23 +02:00
|
|
|
inputs.rust-overlay.overlays.default
|
2023-10-16 11:09:58 +02:00
|
|
|
inputs.nix-alien.overlays.default
|
2022-07-21 00:42:37 +02:00
|
|
|
inputs.comma.overlays.default
|
2023-02-12 13:11:59 +01:00
|
|
|
(final: prev: pkgList system prev.callPackage)
|
2023-05-28 12:32:40 +02:00
|
|
|
(final: prev: inputs.nix-gaming.packages."${system}")
|
2021-11-25 19:35:21 +01:00
|
|
|
];
|
|
|
|
|
})
|
|
|
|
|
./nixos/configuration.nix
|
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
|
{
|
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
|
home-manager.useUserPackages = true;
|
2022-05-01 10:32:31 +02:00
|
|
|
home-manager.users.traxys = {
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
2023-03-26 19:44:04 +02:00
|
|
|
imports = [
|
|
|
|
|
self.hmModules.minimal
|
|
|
|
|
self.hmModules.personal-cli
|
|
|
|
|
self.hmModules.personal-gui
|
|
|
|
|
self.hmModules.gaming
|
|
|
|
|
];
|
2022-04-10 18:04:01 +02:00
|
|
|
};
|
|
|
|
|
home-manager.extraSpecialArgs = {
|
|
|
|
|
flake = self;
|
|
|
|
|
};
|
|
|
|
|
# Optionally, use home-manager.extraSpecialArgs to pass
|
|
|
|
|
# arguments to home.nix
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ZeNixComputa = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
modules = [
|
|
|
|
|
./hostconfig/ZeNixComputa/extra_info.nix
|
2023-03-26 19:17:20 +02:00
|
|
|
./hostconfig/ZeNixComputa/hardware-configuration.nix
|
|
|
|
|
./hostconfig/ZeNixComputa/nixos.nix
|
2022-04-10 18:04:01 +02:00
|
|
|
self.nixosModules.minimal
|
|
|
|
|
self.nixosModules.personal-cli
|
|
|
|
|
self.nixosModules.personal-gui
|
|
|
|
|
self.nixosModules.gaming
|
|
|
|
|
({pkgs, ...}: {
|
|
|
|
|
nixpkgs.overlays = [
|
|
|
|
|
inputs.nur.overlay
|
|
|
|
|
inputs.rust-overlay.overlays.default
|
2023-10-16 11:09:58 +02:00
|
|
|
inputs.nix-alien.overlays.default
|
2022-04-10 18:04:01 +02:00
|
|
|
inputs.comma.overlays.default
|
|
|
|
|
(final: prev: pkgList system prev.callPackage)
|
2023-05-28 12:32:40 +02:00
|
|
|
(final: prev: inputs.nix-gaming.packages."${system}")
|
2022-04-10 18:04:01 +02:00
|
|
|
];
|
|
|
|
|
})
|
|
|
|
|
./nixos/configuration.nix
|
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
|
{
|
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
|
home-manager.users.traxys = {
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
2023-03-26 19:44:04 +02:00
|
|
|
imports = [
|
|
|
|
|
self.hmModules.minimal
|
|
|
|
|
./hostconfig/ZeNixComputa/hm.nix
|
|
|
|
|
./hostconfig/ZeNixComputa/extra_info.nix
|
|
|
|
|
self.hmModules.personal-cli
|
|
|
|
|
self.hmModules.personal-gui
|
|
|
|
|
self.hmModules.gaming
|
|
|
|
|
];
|
2022-02-06 10:46:29 +01:00
|
|
|
};
|
2023-03-25 23:56:33 +01:00
|
|
|
home-manager.extraSpecialArgs = {
|
|
|
|
|
flake = self;
|
|
|
|
|
};
|
2021-11-25 19:35:21 +01:00
|
|
|
# Optionally, use home-manager.extraSpecialArgs to pass
|
|
|
|
|
# arguments to home.nix
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
2021-12-15 10:11:42 +01:00
|
|
|
|
|
|
|
|
thinkpad-nixos = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
modules = [
|
2021-12-15 10:15:16 +01:00
|
|
|
./hostconfig/thinkpad-nixos/extra_info.nix
|
2021-12-15 10:19:47 +01:00
|
|
|
./hostconfig/thinkpad-nixos/nixos.nix
|
2021-12-15 10:16:23 +01:00
|
|
|
./hostconfig/thinkpad-nixos/hardware-configuration.nix
|
2021-12-15 10:11:42 +01:00
|
|
|
self.nixosModules.minimal
|
|
|
|
|
self.nixosModules.personal-cli
|
|
|
|
|
self.nixosModules.personal-gui
|
|
|
|
|
({pkgs, ...}: {
|
|
|
|
|
nixpkgs.overlays = [
|
|
|
|
|
inputs.nur.overlay
|
|
|
|
|
inputs.rust-overlay.overlays.default
|
2023-10-16 11:09:58 +02:00
|
|
|
inputs.nix-alien.overlays.default
|
2021-12-15 10:11:42 +01:00
|
|
|
inputs.comma.overlays.default
|
|
|
|
|
(final: prev: pkgList system prev.callPackage)
|
2023-05-28 12:32:40 +02:00
|
|
|
(final: prev: inputs.nix-gaming.packages."${system}")
|
2021-12-15 10:11:42 +01:00
|
|
|
];
|
|
|
|
|
})
|
|
|
|
|
./nixos/configuration.nix
|
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
|
{
|
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
|
|
|
home-manager.useUserPackages = true;
|
|
|
|
|
home-manager.users.traxys = {
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
|
|
|
|
imports = [
|
2021-12-15 10:15:16 +01:00
|
|
|
./hostconfig/thinkpad-nixos/extra_info.nix
|
2022-10-19 16:40:51 +02:00
|
|
|
./hostconfig/thinkpad-nixos/hm.nix
|
2021-12-15 10:11:42 +01:00
|
|
|
self.hmModules.minimal
|
|
|
|
|
self.hmModules.personal-cli
|
|
|
|
|
self.hmModules.personal-gui
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
home-manager.extraSpecialArgs = {
|
|
|
|
|
flake = self;
|
|
|
|
|
};
|
|
|
|
|
# Optionally, use home-manager.extraSpecialArgs to pass
|
|
|
|
|
# arguments to home.nix
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
};
|
2021-11-25 19:35:21 +01:00
|
|
|
};
|
2023-10-16 11:23:54 +02:00
|
|
|
|
|
|
|
|
homeConfigurations."boyerq@thinkpad-nixos" = home-manager.lib.homeManagerConfiguration {
|
|
|
|
|
modules = [
|
|
|
|
|
self.hmModules.minimal
|
|
|
|
|
self.hmModules.work
|
|
|
|
|
self.hmModules.personal-cli
|
|
|
|
|
self.hmModules.personal-gui
|
|
|
|
|
./hostconfig/thinkpad-nixos/extra_info.nix
|
|
|
|
|
./hostconfig/thinkpad-nixos/hm.nix
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
pkgs = import nixpkgs rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
|
|
|
|
|
overlays = [
|
|
|
|
|
inputs.nur.overlay
|
|
|
|
|
inputs.rust-overlay.overlays.default
|
|
|
|
|
inputs.nix-alien.overlays.default
|
|
|
|
|
inputs.comma.overlays.default
|
|
|
|
|
(final: prev: pkgList system prev.callPackage)
|
|
|
|
|
(final: prev: inputs.nix-gaming.packages."${system}")
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
config.allowUnfree = true;
|
|
|
|
|
};
|
|
|
|
|
};
|
2021-11-25 19:35:21 +01:00
|
|
|
};
|
|
|
|
|
}
|