Initial experimental commit
This commit is contained in:
parent
b848f9d893
commit
682a19b13c
146 changed files with 2463 additions and 2389 deletions
83
home/profile/base/default.nix
Normal file
83
home/profile/base/default.nix
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{ inputs, lib, pkgs, config, outputs, ... }:
|
||||
let
|
||||
cfg = config.profiles.base;
|
||||
inherit (inputs.nix-colors) colorSchemes;
|
||||
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) nixWallpaperFromScheme;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.nix-colors.homeManagerModule
|
||||
../../programs
|
||||
] ++ (builtins.attrValues outputs.homeManagerModules);
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nixpkgs = {
|
||||
overlays = builtins.attrValues outputs.overlays;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
nix = {
|
||||
package = lib.mkDefault pkgs.nix;
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
||||
warn-dirty = false;
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
git.enable = true;
|
||||
};
|
||||
|
||||
home = {
|
||||
username = lib.mkDefault "ooks";
|
||||
homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
||||
stateVersion = lib.mkDefault "22.05";
|
||||
sessionPath = [ "$HOME/.local/bin" ];
|
||||
sessionVariables = {
|
||||
FLAKE = "$HOME/.dotfiles/nix";
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal.enable = true;
|
||||
|
||||
programs = {
|
||||
console = {
|
||||
editor.helix = {
|
||||
enable = true;
|
||||
default = true;
|
||||
};
|
||||
prompt.starship.enable = true;
|
||||
shell = {
|
||||
fish.enable = true;
|
||||
bash.enable = true;
|
||||
};
|
||||
multiplexer.zellij.enable = true;
|
||||
utility = {
|
||||
nixIndex.enable = true;
|
||||
git.enable = true;
|
||||
tools.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wallpaper =
|
||||
let
|
||||
largest = f: xs: builtins.head (builtins.sort (a: b: a > b) (map f xs));
|
||||
largestWidth = largest (x: x.width) config.monitors;
|
||||
largestHeight = largest (x: x.height) config.monitors;
|
||||
in
|
||||
lib.mkDefault (nixWallpaperFromScheme
|
||||
{
|
||||
scheme = config.colorscheme;
|
||||
width = largestWidth;
|
||||
height = largestHeight;
|
||||
logoScale = 4;
|
||||
});
|
||||
colorscheme = lib.mkDefault colorSchemes.everforest;
|
||||
home.file.".colorscheme".text = config.colorscheme.slug;
|
||||
};
|
||||
}
|
||||
0
home/profile/creative/default.nix
Normal file
0
home/profile/creative/default.nix
Normal file
33
home/profile/default.nix
Normal file
33
home/profile/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{ lib, config, ... }:
|
||||
|
||||
let
|
||||
profileEnabler = let
|
||||
reducer = l: r: {"${r}".enable = true;} // l;
|
||||
in
|
||||
builtins.foldl' reducer {} config.activeProfiles;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./base
|
||||
./hyprland
|
||||
#./creative
|
||||
];
|
||||
|
||||
options = {
|
||||
activeProfiles = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
};
|
||||
|
||||
profiles = {
|
||||
base = {
|
||||
enable = lib.mkEnableOption "Enable the base profile";
|
||||
};
|
||||
hyprland = {
|
||||
enable = lib.mkEnableOption "Enable the hyprland profile";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config.profiles = profileEnabler;
|
||||
}
|
||||
0
home/profile/gaming/default.nix
Normal file
0
home/profile/gaming/default.nix
Normal file
31
home/profile/hyprland/default.nix
Normal file
31
home/profile/hyprland/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.profiles.hyprland;
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
../../programs
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.desktop = {
|
||||
wayland = {
|
||||
base.enable = true;
|
||||
windowManager.hyprland.enable = true;
|
||||
lockscreen.swaylock.enable = true;
|
||||
notification.mako.enable = true;
|
||||
bar.eww.enable = true;
|
||||
};
|
||||
browser.firefox = {
|
||||
enable = true;
|
||||
default = true;
|
||||
};
|
||||
terminal.foot = {
|
||||
enable = true;
|
||||
default = true;
|
||||
};
|
||||
themeSettings.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
0
home/profile/productivity/default.nix
Normal file
0
home/profile/productivity/default.nix
Normal file
Loading…
Add table
Add a link
Reference in a new issue