Compare commits
3 commits
c942130d46
...
f07e5a72e5
Author | SHA1 | Date | |
---|---|---|---|
f07e5a72e5 | |||
19804fe7da | |||
0664180bfa |
25 changed files with 214 additions and 57 deletions
145
flake.lock
generated
145
flake.lock
generated
|
@ -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"
|
||||
]
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 [
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
# No Special Home
|
||||
}
|
|
@ -40,6 +40,7 @@
|
|||
## Tools ##
|
||||
bitwarden-desktop
|
||||
inspector
|
||||
solaar
|
||||
|
||||
## Productivity ##
|
||||
gimp
|
||||
|
|
|
@ -16,6 +16,7 @@ with lib.hm.gvariant;
|
|||
"org.telegram.desktop.desktop"
|
||||
"steam.desktop"
|
||||
"Ryujinx.desktop"
|
||||
"Overwatch 2.desktop"
|
||||
"Marvel Rivals.desktop"
|
||||
];
|
||||
};
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
## Tools ##
|
||||
bitwarden-desktop
|
||||
inspector
|
||||
solaar
|
||||
|
||||
## Productivity ##
|
||||
gimp
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
home.file = {
|
||||
Pool.source = config.lib.file.mkOutOfStoreSymlink "/pool";
|
||||
DockerStorage.source = config.lib.file.mkOutOfStoreSymlink "/mnt/DockerStorage";
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
# No Special Home
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
# No Special Home
|
||||
}
|
|
@ -37,6 +37,7 @@
|
|||
bitwarden-desktop
|
||||
inspector
|
||||
remmina
|
||||
solaar
|
||||
vial # KB setup
|
||||
|
||||
## Productivity ##
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
];
|
||||
|
|
18
hosts/global/common/solaar.nix
Normal file
18
hosts/global/common/solaar.nix
Normal 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
|
||||
];
|
||||
}
|
|
@ -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
|
|||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ in
|
|||
handle = user.handle;
|
||||
userFullName = user.fullName;
|
||||
isServer = true;
|
||||
isMinimal = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
|
@ -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
|
||||
])
|
||||
];
|
||||
|
||||
|
|
|
@ -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
|
||||
])
|
||||
];
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ in
|
|||
handle = user.handle;
|
||||
userFullName = user.fullName;
|
||||
isServer = true;
|
||||
isMinimal = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
}
|
||||
|
|
|
@ -38,6 +38,7 @@ in
|
|||
handle = user.handle;
|
||||
userFullName = user.fullName;
|
||||
isServer = true;
|
||||
isMinimal = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
|
@ -46,6 +46,7 @@ in
|
|||
handle = user.handle;
|
||||
userFullName = user.fullName;
|
||||
isServer = true;
|
||||
isMinimal = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
|
|
|
@ -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
|
||||
])
|
||||
];
|
||||
|
|
Loading…
Add table
Reference in a new issue