WIP: refactor homeeConfigs
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m0s
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m0s
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/17 18:15:24 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 00:58:57 by tomoron ### ########.fr #
|
||||
# Updated: 2025/09/24 02:10:00 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -51,9 +51,9 @@
|
||||
];
|
||||
};
|
||||
|
||||
homeConfig = {flakeName, extraModules ? [], username ? "tom", homeDir ? "/home/tom"}: home-manager.lib.homeManagerConfiguration {
|
||||
homeConfig = {flakeName, sops ? true, extraModules ? [], username ? "tom", homeDir ? "/home/tom"}: home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; username = username; homeDir = homeDir; isOs = false; };
|
||||
extraSpecialArgs = { inherit inputs; username = username; homeDir = homeDir; isOs = false; configSops = sops; };
|
||||
modules = nixpkgs.lib.concatLists [
|
||||
[
|
||||
./homeConfigs/home.nix
|
||||
@ -86,7 +86,7 @@
|
||||
|
||||
homeConfigurations = {
|
||||
vbox = homeConfig { flakeName = "vbox";};
|
||||
ft = homeConfig { flakeName = "ft"; username = "tomoron"; homeDir = "/home/tomoron";};
|
||||
ft = homeConfig { flakeName = "ft"; username = "tomoron"; homeDir = "/home/tomoron"; sops = false;};
|
||||
laptop = homeConfig { flakeName = "laptop"; };
|
||||
desktop = homeConfig { flakeName = "desktop"; };
|
||||
server = homeConfig { flakeName = "server"; };
|
||||
|
33
homeConfigs/global/appearance.nix
Normal file
33
homeConfigs/global/appearance.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
|
||||
dunst.enable = true;
|
||||
dunst.flavor="frappe";
|
||||
|
||||
kvantum.apply = true;
|
||||
rofi.enable = false;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = { package = pkgs.flat-remix-gtk; name = "Flat-Remix-GTK-Grey-Darkest"; };
|
||||
font = { name = "Sans"; size = 11; };
|
||||
};
|
||||
|
||||
qt.style.name = "kvantum";
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".config/wallpaper.png".source = lib.mkDefault utils/wallpaper.png;
|
||||
".config/lock_screen.jpg".source = lib.mkDefault utils/lock_screen.jpg;
|
||||
};
|
||||
}
|
13
homeConfigs/global/catppuccin.nix
Normal file
13
homeConfigs/global/catppuccin.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
|
||||
dunst.enable = true;
|
||||
dunst.flavor="frappe";
|
||||
|
||||
kvantum.apply = true;
|
||||
rofi.enable = false;
|
||||
};
|
||||
}
|
16
homeConfigs/global/fileManager.nix
Normal file
16
homeConfigs/global/fileManager.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
settings.mgr.sort_dir_first=false;
|
||||
programs.bash.bashExtra = ''
|
||||
function y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
IFS= read -r -d "" cwd < "$tmp"
|
||||
[ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
21
homeConfigs/global/rclone.nix
Normal file
21
homeConfigs/global/rclone.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ config, homeDir, ... }:
|
||||
{
|
||||
programs.rclone.enable = true;
|
||||
sops.secrets."nextcloud_fuse/password" = {};
|
||||
programs.rclone.remotes.nextcloud = {
|
||||
config = {
|
||||
type = "webdav";
|
||||
url = "https://nc.tmoron.fr/remote.php/dav/files/tom";
|
||||
vendor = "nextcloud";
|
||||
user = "tom";
|
||||
};
|
||||
secrets.pass = config.sops.secrets."nextcloud_fuse/password".path;
|
||||
mounts = {
|
||||
"/" = {
|
||||
enable = true;
|
||||
mountPoint = "${homeDir}/nextcloud";
|
||||
options.vfs-cache-mode = "writes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
13
homeConfigs/global/rofi.nix
Normal file
13
homeConfigs/global/rofi.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = "rounded-nord-dark";
|
||||
};
|
||||
|
||||
home.file.".local/share/rofi/themes".source = "${builtins.fetchGit {
|
||||
url = "https://github.com/newmanls/rofi-themes-collection";
|
||||
rev = "c8239a45edced3502894e1716a8b661fdea8f1c9";
|
||||
ref = "master";
|
||||
}}/themes";
|
||||
}
|
20
homeConfigs/global/shell.nix
Normal file
20
homeConfigs/global/shell.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ ... }:
|
||||
{
|
||||
home.shell.enableBashIntegration = true;
|
||||
home.shellAliases = {
|
||||
ls= "ls --color=auto";
|
||||
grep = "grep --color=auto";
|
||||
vim = "nvim";
|
||||
vi = "nvim";
|
||||
hl = "Hyprland";
|
||||
clr = "clear";
|
||||
noidle = "systemctl --user stop hypridle";
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
historyControl = ["ignoreboth"];
|
||||
historyIgnore = [ "ls" "cd" "exit" ];
|
||||
shellOptions = [ "cdspell" "autocd"];
|
||||
};
|
||||
}
|
@ -6,16 +6,24 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/17 18:15:38 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/19 19:23:28 by tomoron ### ########.fr #
|
||||
# Updated: 2025/09/24 02:08:41 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{lib, pkgs, config, username ? "tom" ,homeDir ? "/home/tom", isOs ? false, ... }:
|
||||
{
|
||||
lib,
|
||||
username ? "tom",
|
||||
homeDir ? "/home/tom",
|
||||
isOs ? false,
|
||||
configSops ? true,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = lib.concatLists [
|
||||
[ ./packages.nix ]
|
||||
(lib.fileset.toList ./modules)
|
||||
(lib.fileset.toList ./global)
|
||||
];
|
||||
|
||||
home.username = lib.mkIf (!isOs) "${username}";
|
||||
@ -23,101 +31,11 @@
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
sops.defaultSopsFile = ../secrets/secrets.yaml;
|
||||
sops.age.keyFile = "${homeDir}/.config/sops/age/keys.txt";
|
||||
sops.secrets."nextcloud_fuse/password" = {};
|
||||
|
||||
programs.rclone.enable = true;
|
||||
programs.rclone.remotes.nextcloud = {
|
||||
config = {
|
||||
type = "webdav";
|
||||
url = "https://nc.tmoron.fr/remote.php/dav/files/tom";
|
||||
vendor = "nextcloud";
|
||||
user = "tom";
|
||||
};
|
||||
secrets.pass = config.sops.secrets."nextcloud_fuse/password".path;
|
||||
mounts = {
|
||||
"/" = {
|
||||
enable = true;
|
||||
mountPoint = "${homeDir}/nextcloud";
|
||||
options.vfs-cache-mode = "writes";
|
||||
};
|
||||
};
|
||||
sops = lib.mkIf configSops{
|
||||
defaultSopsFile = ../secrets/secrets.yaml;
|
||||
age.keyFile = "${homeDir}/.config/sops/age/keys.txt";
|
||||
};
|
||||
|
||||
# programs.ghostty.enable = true;
|
||||
# programs.ghostty.settings = {
|
||||
# theme = "catppuccin-mocha";
|
||||
# font-size = 9;
|
||||
# };
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = { package = pkgs.flat-remix-gtk; name = "Flat-Remix-GTK-Grey-Darkest"; };
|
||||
# iconTheme = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; };
|
||||
font = { name = "Sans"; size = 11; };
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
ls= "ls --color=auto";
|
||||
grep = "grep --color=auto";
|
||||
vim = "nvim";
|
||||
vi = "nvim";
|
||||
hl = "Hyprland";
|
||||
clr = "clear";
|
||||
# tagueule = "asusctl profile -P Quiet";
|
||||
# parle = "asusctl profile -P performance";
|
||||
noidle = "systemctl --user stop hypridle";
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
historyControl = ["ignoreboth"];
|
||||
historyIgnore = [ "ls" "cd" "exit" ];
|
||||
shellOptions = [ "cdspell" "autocd"];
|
||||
};
|
||||
|
||||
home.sessionPath = [ "~/.local/bin" ];
|
||||
|
||||
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = "rounded-nord-dark";
|
||||
};
|
||||
|
||||
|
||||
home.file = { #should be able to make most of these in nix configs
|
||||
".config/wallpaper.png".source = lib.mkDefault utils/wallpaper_test.png;
|
||||
".config/pc.jpg".source = lib.mkDefault utils/pc.jpg;
|
||||
#".config/rofi/config.rasi".text = "@theme \"rounded-nord-dark.rasi\"";
|
||||
|
||||
".local/share/rofi/themes".source = "${builtins.fetchGit {
|
||||
url = "https://github.com/newmanls/rofi-themes-collection";
|
||||
rev = "c8239a45edced3502894e1716a8b661fdea8f1c9";
|
||||
ref = "master";
|
||||
}}/themes";
|
||||
|
||||
};
|
||||
services.dunst.enable = true;
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
qt.style.name = "kvantum";
|
||||
catppuccin.kvantum.apply = true;
|
||||
catppuccin.rofi.enable = false;
|
||||
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
|
||||
dunst.enable = true;
|
||||
dunst.flavor="frappe";
|
||||
};
|
||||
}
|
||||
|
@ -15,6 +15,7 @@
|
||||
"$mainMod" = "SUPER";
|
||||
bind = [
|
||||
" , Print, exec, grim -t png -g \"$(slurp)\" /dev/stdout | tee ~/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png | wl-copy -t image/png"
|
||||
" SHIFT, Print, exec, grim -t png /dev/stdout | tee ~/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png | wl-copy -t image/png"
|
||||
"$mainMod, Return, exec, alacritty"
|
||||
"CTRL_ALT, Q, killactive,"
|
||||
"CTRL_ALT_SHIFT, Q, forcekillactive,"
|
||||
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 797 KiB |
Binary file not shown.
Before Width: | Height: | Size: 797 KiB |
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:56:57 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/17 18:46:28 by tomoron ### ########.fr #
|
||||
# Updated: 2025/09/23 04:08:25 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -79,16 +79,20 @@
|
||||
|
||||
mods.touchpad.enable = true;
|
||||
|
||||
mods.powerSave.enable = true;
|
||||
mods.powerSave.powahCommandAdditions = [
|
||||
mods.powerSave = {
|
||||
enable = true;
|
||||
powahCommandAdditions = [
|
||||
"supergfxctl -m Hybrid"
|
||||
"if asusctl profile -p | grep Balanced ; then asusctl profile -P Performance; fi"
|
||||
"if asusctl profile -p | grep Quiet ; then asusctl profile -P Balanced; fi"
|
||||
];
|
||||
mods.powerSave.tagueuleCommandAdditions = [
|
||||
tagueuleCommandAdditions = [
|
||||
"echo \"can't safely turn off the GPU\""
|
||||
"asusctl profile -P Quiet"
|
||||
];
|
||||
cpuMaxFreq = 4465261;
|
||||
|
||||
};
|
||||
|
||||
services.asusd = {
|
||||
enable = true;
|
||||
|
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:45:04 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/21 00:51:55 by tomoron ### ########.fr #
|
||||
# Updated: 2025/09/23 04:25:20 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
default = false;
|
||||
description = "enable services and settings to save power";
|
||||
};
|
||||
|
||||
powahCommandAdditions = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
@ -29,6 +30,41 @@
|
||||
default = [];
|
||||
description = "commands the `tagueule` script runs";
|
||||
};
|
||||
|
||||
pStateCompatible = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "is the cpu p-state compatible. only most of intel cpu's";
|
||||
};
|
||||
|
||||
cpuMaxFreq = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
default = 5000000;
|
||||
description = "the max frequency of the cpu (in KHz)";
|
||||
};
|
||||
|
||||
governorPowers = {
|
||||
ac.min = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 30;
|
||||
description = "min frequency on AC";
|
||||
};
|
||||
ac.max = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 100;
|
||||
description = "max frequency on AC";
|
||||
};
|
||||
bat.min = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 0;
|
||||
description = "min frequency on BAT";
|
||||
};
|
||||
bat.max = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 40;
|
||||
description = "max frequency on BAT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -44,12 +80,19 @@
|
||||
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||
|
||||
CPU_MIN_PERF_ON_AC = 0;
|
||||
CPU_MAX_PERF_ON_AC = 100;
|
||||
CPU_MIN_PERF_ON_BAT = 0;
|
||||
CPU_MAX_PERF_ON_BAT = 20;
|
||||
};
|
||||
}
|
||||
// lib.optionalAttrs (!config.mods.powerSave.pStateCompatible) (with config.mods.powerSave; {
|
||||
CPU_SCALING_MIN_FREQ_ON_AC = (cpuMaxFreq * governorPowers.ac.min) / 100;
|
||||
CPU_SCALING_MAX_FREQ_ON_AC = (cpuMaxFreq * governorPowers.ac.max) / 100;
|
||||
CPU_SCALING_MIN_FREQ_ON_BAT = (cpuMaxFreq * governorPowers.bat.min) / 100;
|
||||
CPU_SCALING_MAX_FREQ_ON_BAT = (cpuMaxFreq * governorPowers.bat.max) / 100;
|
||||
})
|
||||
// lib.optionalAttrs config.mods.powerSave.pStateCompatible (with config.mods.powerSave.governorPowers; {
|
||||
CPU_MIN_PERF_ON_AC = ac.min;
|
||||
CPU_MAX_PERF_ON_AC = ac.max;
|
||||
CPU_MIN_PERF_ON_BAT = bat.min;
|
||||
CPU_MAX_PERF_ON_BAT = bat.max;
|
||||
});
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
@ -77,7 +120,6 @@
|
||||
];
|
||||
|
||||
powerManagement.enable = true;
|
||||
services.upower.enable = true;
|
||||
mods.nvidia.prime = true;
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user