162 lines
4.7 KiB
Nix
162 lines
4.7 KiB
Nix
{
|
|
description = "system";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
nixpkgs-stable.url = "nixpkgs/nixos-23.11";
|
|
nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
nixos-hardware.url = "github:networkException/nixos-hardware/apple-t2-init";
|
|
mac-brcm-fw = {
|
|
url = "path:/home/jade/nix-configs/mac-brcm-fw";
|
|
flake = false;
|
|
};
|
|
crane = {
|
|
url = "github:ipetkov/crane";
|
|
inputs = {
|
|
flake-utils.follows = "flake-utils";
|
|
nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
fenix = {
|
|
url = "github:nix-community/fenix";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
nixpkgs-stable,
|
|
nixpkgs-unstable-small,
|
|
home-manager,
|
|
nixos-hardware,
|
|
mac-brcm-fw,
|
|
fenix,
|
|
crane,
|
|
...
|
|
} @ inputs: let
|
|
system = "x86_64-linux";
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
pkgs-stable = nixpkgs-stable.legacyPackages.${system};
|
|
pkgs-unstable-small = nixpkgs-unstable-small.legacyPackages.${system};
|
|
crane-lib = crane.lib.${system};
|
|
rs-toolchain = with fenix.packages.${system};
|
|
combine [
|
|
default.toolchain
|
|
rust-analyzer
|
|
];
|
|
# rs-platform = pkgs.makeRustPlatform {
|
|
# cargo = rs-toolchain;
|
|
# rustc = rs-toolchain;
|
|
# };
|
|
rs-programs = final: prev: {
|
|
# s10e-jrnl = rs-platform.buildRustPackage {
|
|
# pname = "jrnl";
|
|
# version = "0.0.1";
|
|
# src = ./programs/jrnl;
|
|
# cargoLock.lockFile = ./programs/jrnl/Cargo.lock;
|
|
# };
|
|
s10e-jrnl = crane-lib.buildPackage {
|
|
src = crane-lib.cleanCargoSource (crane-lib.path ./.);
|
|
};
|
|
};
|
|
in {
|
|
devShells."x86_64-linux".default = pkgs.mkShell {
|
|
buildInputs = [
|
|
(pkgs.haskellPackages.ghcWithPackages
|
|
(pkgs:
|
|
with pkgs; [
|
|
xmonad
|
|
xmonad-contrib
|
|
xmobar
|
|
statgrab
|
|
]))
|
|
rs-toolchain
|
|
pkgs.haskell-language-server
|
|
];
|
|
};
|
|
nixosConfigurations = {
|
|
monosodium-glutamate-g = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgs-unstable-small pkgs-stable rs-programs;
|
|
};
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./hosts/monosodium-glutamate-g/configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = {
|
|
inherit pkgs-unstable-small pkgs-stable;
|
|
};
|
|
home-manager.users.jade = {
|
|
nixosConfig,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
|
home.stateVersion = "${nixosConfig.system.stateVersion}";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
catbook-j = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgs-unstable-small pkgs-stable rs-programs;
|
|
};
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
./hosts/catbook-j/configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = {
|
|
inherit pkgs-unstable-small pkgs-stable;
|
|
};
|
|
home-manager.users.jade = {
|
|
nixosConfig,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
|
home.stateVersion = "22.11";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
potatobook-g = nixpkgs.lib.nixosSystem {
|
|
specialArgs = {
|
|
inherit inputs pkgs-unstable-small rs-programs;
|
|
};
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
"${mac-brcm-fw}"
|
|
./hosts/potatobook-g/configuration.nix
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = {
|
|
inherit pkgs-unstable-small pkgs-stable;
|
|
};
|
|
home-manager.users.jade = {
|
|
nixosConfig,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
|
home.stateVersion = "${nixosConfig.system.stateVersion}";
|
|
};
|
|
}
|
|
nixos-hardware.nixosModules.apple-t2
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|