Compare commits

...

3 commits

25 changed files with 214 additions and 57 deletions

145
flake.lock generated
View file

@ -129,6 +129,38 @@
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@ -214,9 +246,46 @@
"type": "github"
}
},
"flake-utils-plus": {
"inputs": {
"flake-utils": "flake-utils_2"
},
"locked": {
"lastModified": 1715533576,
"narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=",
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
"type": "github"
},
"original": {
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_5"
"systems": "systems_4"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_6"
},
"locked": {
"lastModified": 1681202837,
@ -232,9 +301,9 @@
"type": "github"
}
},
"flake-utils_3": {
"flake-utils_4": {
"inputs": {
"systems": "systems_6"
"systems": "systems_7"
},
"locked": {
"lastModified": 1731533236,
@ -664,6 +733,7 @@
"nixvirt": "nixvirt",
"rose-pine-hyprcursor": "rose-pine-hyprcursor",
"snapraid-aio": "snapraid-aio",
"solaar": "solaar",
"stylix": "stylix",
"vscode-server": "vscode-server",
"yay": "yay",
@ -746,6 +816,52 @@
"type": "github"
}
},
"snowfall-lib": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-utils-plus": "flake-utils-plus",
"nixpkgs": [
"solaar",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718097323,
"narHash": "sha256-zCgs8Wp7rdt0tjNUHMUIvi6sIvDoprWIHwvTGq+LMK0=",
"owner": "snowfallorg",
"repo": "lib",
"rev": "aa19b02b63025263cec041fcb7a0857c3cb98859",
"type": "github"
},
"original": {
"owner": "snowfallorg",
"ref": "v3.0.3",
"repo": "lib",
"type": "github"
}
},
"solaar": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
"snowfall-lib": "snowfall-lib"
},
"locked": {
"lastModified": 1736760170,
"narHash": "sha256-GvMN9vsy59xitBKt0Qh/grANYi0AWHXokrr6FY4JXRM=",
"owner": "Svenum",
"repo": "Solaar-Flake",
"rev": "255c70259546c7201141e7903cd94b0507c6377e",
"type": "github"
},
"original": {
"owner": "Svenum",
"repo": "Solaar-Flake",
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
@ -753,14 +869,14 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_2",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_4",
"nur": "nur",
"systems": "systems_4",
"systems": "systems_5",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@ -871,6 +987,21 @@
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
@ -994,7 +1125,7 @@
},
"vscode-server": {
"inputs": {
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs-unstable"
]
@ -1015,7 +1146,7 @@
},
"yay": {
"inputs": {
"flake-utils": "flake-utils_3",
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
]

View file

@ -49,6 +49,11 @@
# inputs.nixpkgs.follows = "nixpkgs";
# };
solaar = {
url = "github:Svenum/Solaar-Flake";
inputs.nixpkgs.follows = "nixpkgs";
};
snapraid-aio = {
# url = "git+https://git.ryot.foo/toph/snapraid-aio.nix.git";
url = "git+https://git.ryot.foo/toph/snapraid-aio.nix.git";

View file

@ -131,6 +131,7 @@ with lib.hm.gvariant;
"quicksettings-audio-devices-renamer@marcinjahn.com"
"undecorate@sun.wxg@gmail.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"solaar-extension@sidevesh"
"Vitals@CoreCoding.com"
];
favorite-apps = lib.mkDefault [

View file

@ -37,8 +37,6 @@ in
preferXdgDirectories = true; # whether to make programs use XDG directories whenever supported
};
#TODO(xdg): maybe move this to its own xdg.nix?
# xdg packages are pulled in below
xdg = {
enable = true;
userDirs = {
@ -59,12 +57,12 @@ in
direnv # environment per directory
dust # disk usage
eza # ls replacement
microsoft-edit
nmap # network scanner
trashy # trash cli
unrar # rar extraction
unzip # zip extraction
zip # zip compression
microsoft-edit
;
};
@ -72,7 +70,6 @@ in
enable = true;
};
# disable manuals as nmd fails to build often
manual = {
html.enable = false;
json.enable = false;

View file

@ -1,3 +0,0 @@
{
# No Special Home
}

View file

@ -40,6 +40,7 @@
## Tools ##
bitwarden-desktop
inspector
solaar
## Productivity ##
gimp

View file

@ -16,6 +16,7 @@ with lib.hm.gvariant;
"org.telegram.desktop.desktop"
"steam.desktop"
"Ryujinx.desktop"
"Overwatch 2.desktop"
"Marvel Rivals.desktop"
];
};

View file

@ -34,6 +34,7 @@
## Tools ##
bitwarden-desktop
inspector
solaar
## Productivity ##
gimp

View file

@ -1,11 +0,0 @@
{
config,
...
}:
{
home.file = {
Pool.source = config.lib.file.mkOutOfStoreSymlink "/pool";
DockerStorage.source = config.lib.file.mkOutOfStoreSymlink "/mnt/DockerStorage";
};
}

View file

@ -1,3 +0,0 @@
{
# No Special Home
}

View file

@ -1,3 +0,0 @@
{
# No Special Home
}

View file

@ -37,6 +37,7 @@
bitwarden-desktop
inspector
remmina
solaar
vial # KB setup
## Productivity ##

View file

@ -1,5 +1,6 @@
{
lib,
pkgs,
hostSpec,
...
}:
@ -11,7 +12,7 @@
];
home.sessionVariables = {
EDITOR = lib.mkDefault "${lib.getExe pkgs.microsoft-edit}";
VISUAL = lib.mkDefault "${lib.getExe pkgs.microsoft-edit}";
EDITOR = "${lib.getExe pkgs.microsoft-edit}";
VISUAL = "${lib.getExe pkgs.microsoft-edit}";
};
}

View file

@ -1,5 +1,6 @@
{
lib,
pkgs,
hostSpec,
...
}:
@ -11,7 +12,7 @@
];
home.sessionVariables = {
EDITOR = lib.mkDefault "${lib.getExe pkgs.microsoft-edit}";
VISUAL = lib.mkDefault "${lib.getExe pkgs.microsoft-edit}";
EDITOR = "${lib.getExe pkgs.microsoft-edit}";
VISUAL = "${lib.getExe pkgs.microsoft-edit}";
};
}

View file

@ -5,6 +5,8 @@
...
}:
let
isServer = hostSpec.isServer or false;
qogir = pkgs.qogir-icon-theme.override {
colorVariants = [
"dark"
@ -14,9 +16,8 @@ let
"ubuntu"
];
};
in
{
lib.mkIf (!isServer) {
imports = [
inputs.stylix.homeManagerModules.stylix
];

View file

@ -0,0 +1,18 @@
{ pkgs, inputs, ... }:
{
imports = [
inputs.solaar.nixosModules.default
];
services.solaar = {
enable = true; # Enable the service
package = pkgs.solaar; # The package to use
window = "hide"; # Show the window on startup (show, *hide*, only [window only])
batteryIcons = "symbolic"; # Which battery icons to use (*regular*, symbolic, solaar)
extraArgs = ""; # Extra arguments to pass to solaar on startup
};
environment.systemPackages = with pkgs; [
gnomeExtensions.solaar-extension
];
}

View file

@ -71,22 +71,26 @@ in
};
}
// lib.optionalAttrs (inputs ? "home-manager") {
# Setup root home?
home-manager.users.root = lib.optionalAttrs (!isMinimal) {
home.stateVersion = "24.05"; # Avoid error
};
# Set up home-manager for the configured user
home-manager = {
extraSpecialArgs = {
inherit pkgs inputs;
inherit (config) secretsSpec hostSpec;
};
users.${username} = lib.optionalAttrs (!isMinimal) {
users = {
root.home.stateVersion = "24.05"; # Avoid error
${username} = {
imports = [
(
{ config, ... }:
import (lib.custom.relativeToRoot "home/users/${username}") {
import
(
if isMinimal then
lib.custom.relativeToRoot "home/global/core"
else
lib.custom.relativeToRoot "home/users/${username}"
)
{
inherit
config
hostSpec
@ -99,4 +103,5 @@ in
];
};
};
};
}

View file

@ -45,6 +45,7 @@ in
handle = user.handle;
userFullName = user.fullName;
isServer = true;
isMinimal = true;
};
networking = {

View file

@ -40,6 +40,7 @@ in
"hosts/global/common/gnome.nix"
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager)
"hosts/global/common/plymouth.nix" # fancy boot screen
"hosts/global/common/solaar.nix" # Logitech Unifying Receiver support
])
];

View file

@ -40,6 +40,7 @@ in
"hosts/global/common/gnome.nix"
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager)
"hosts/global/common/plymouth.nix" # fancy boot screen
"hosts/global/common/solaar.nix" # Logitech Unifying Receiver support
])
];

View file

@ -45,6 +45,7 @@ in
handle = user.handle;
userFullName = user.fullName;
isServer = true;
isMinimal = true;
};
networking = {

View file

@ -9,4 +9,10 @@
"hosts/global/common/system/pool.nix"
])
];
## Easy links, I use this dirs more often in this host
systemd.user.tmpfiles.rules = [
"L+ %h/Pool - - - - /pool"
"L+ %h/DockerStorage - - - - /mnt/DockerStorage"
];
}

View file

@ -38,6 +38,7 @@ in
handle = user.handle;
userFullName = user.fullName;
isServer = true;
isMinimal = true;
};
networking = {

View file

@ -46,6 +46,7 @@ in
handle = user.handle;
userFullName = user.fullName;
isServer = true;
isMinimal = true;
};
networking = {

View file

@ -42,6 +42,7 @@ in
"hosts/global/common/libvirt.nix" # vm tools
"hosts/global/common/nvtop.nix" # GPU monitor (not available in home-manager)
"hosts/global/common/plymouth.nix" # fancy boot screen
"hosts/global/common/solaar.nix" # Logitech Unifying Receiver support
"hosts/global/common/vial.nix" # KB setup
])
];