mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-09-09 20:30:05 +00:00
push new config
Signed-off-by: Jo <johannesreckers2006@gmail.com>
This commit is contained in:
parent
23635a9bda
commit
1defa37a73
11 changed files with 534 additions and 69 deletions
105
flake.nix
105
flake.nix
|
@ -2,87 +2,60 @@
|
|||
description = "Jo's NixOS configuration";
|
||||
|
||||
inputs = {
|
||||
# Nixpkgs
|
||||
# Nixpkgs instance.
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
# Home manager
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/master";
|
||||
# Snowfall lib imposes an opinionated file-structure, which makes things a little easier sometimes.
|
||||
snowfall-lib = {
|
||||
url = "github:snowfallorg/lib";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Home manager for managing the /home directory.
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# Hardware specific tweaks and performance optimizations.
|
||||
hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
|
||||
# Catppuccin theme nix configuration.
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
|
||||
# Declarative management of Flatpak packages.
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, hardware, catppuccin, nix-flatpak, ... } @inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
outputs = inputs:
|
||||
inputs.snowfall-lib.mkFlake {
|
||||
inherit inputs; # Providing flake inputs to Snowfall Lib.
|
||||
src = ./.; # "src" must point to the root of the flake.
|
||||
|
||||
# Supported systems for this flake
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
];
|
||||
snowfall = {
|
||||
# "root" can be used, to tell Snowfall Lib where to look for Nix files.
|
||||
# root = ./nix;
|
||||
|
||||
# Function that generates an attribute by calling a function you pass to it
|
||||
# It takes each system as an argument
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
in {
|
||||
# My custom packagess
|
||||
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||
# Namespace for this flake's packages, library and overlays.
|
||||
namespace = "puzzlevision";
|
||||
|
||||
# External resources (wallpapers, icons, dotfiles)
|
||||
resources = import ./resources;
|
||||
|
||||
# My reusable modules for nixos
|
||||
nixosModules = import ./modules/nixos;
|
||||
|
||||
# My reusable modules for home-manager
|
||||
homeManagerModules = import ./modules/home-manager;
|
||||
|
||||
# NixOS configuration entrypoint
|
||||
# Available through 'nixos-rebuild --flake .#your-hostname'
|
||||
nixosConfigurations = {
|
||||
puzzlevision = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/puzzlevision/configuration.nix
|
||||
];
|
||||
meta = {
|
||||
name = "jos-nixos-configuration"; # Used in certain places, like documentations. No spaces.
|
||||
title = "Jo's NixOS configuration"; # Basically just for decorational purposes.
|
||||
};
|
||||
};
|
||||
|
||||
channels-config = {
|
||||
allowUnfree = true; # Allow unfree packages.
|
||||
};
|
||||
|
||||
# Apply some home-manager modules globally.
|
||||
homes.modules = with inputs; [
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
];
|
||||
|
||||
homes.users."jo@puzzlevision".modules = with inputs; [
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
|
||||
# Standalone home-manager configuration entrypoint
|
||||
# Available through 'home-manager --flake .#your-username@your-hostname'
|
||||
homeConfigurations = {
|
||||
"jo@puzzlevision" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./users/jo/home.nix
|
||||
nix-flatpak.homeManagerModules.nix-flatpak
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
|
||||
"work@puzzlevision" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./users/work/home.nix
|
||||
];
|
||||
};
|
||||
|
||||
"gaming@puzzlevision" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
modules = [
|
||||
./users/gaming/home.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue