Squash merge modularization into main

This commit is contained in:
2025-12-28 00:14:33 +00:00
parent 8a3678428b
commit 88be74cf74
17 changed files with 270 additions and 141 deletions

View File

@@ -6,39 +6,27 @@
...
}:
{
# imports = [
# ../../modules/hyprland/home.nix
# ../../modules/quickshell/home.nix
# ../../modules/chromium/home.nix
# #./modules/neovim/home.nix
# ../../modules/stylix/home.nix
# ../../modules/nixvim/home.nix
# ../../modules/tmux/home.nix
# ../../modules/theme/home.nix
# # ./modules/spicetify/home.nix
# ../../modules/obs/home.nix
# ../../modules/blender/home.nix
# ../../modules/fish/home.nix
# ../../modules/ytm/home.nix
# ../../overlays.nix
# ];
modules = {
Hyprland.enable = true;
quickshell.enable = true;
# chromium.enable = true;
wivrn.enable = true;
wivrn.enable = false;
helium.enable = true;
nixvim.enable = true;
kitty.enable = true;
helix.enable = false;
stylix.enable = true;
tmux.enable = true;
theme.enable = true;
obs.enable = true;
blender.enable = true;
bottles.enable = true;
obs = {
enable = true;
autostart = false;
};
blender.enable = false;
bottles.enable = false;
fish.enable = true;
youtube-music.enable = true;
unityhub.enable = true;
unityhub.enable = false;
direnv.enable = true;
git.enable = true;
rsRPC.enable = true;
@@ -61,6 +49,16 @@
};
};
xdg.mimeApps.enable = true;
wayland.windowManager.hyprland.settings = {
monitor = [
"eDP-1, 2880x1800@120, 0x0, 2"
];
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = 0;
};
};
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
@@ -78,9 +76,6 @@
vim
telegram-desktop
vesktop
# (pkgs.discord.override { withVencord = true; })
# webcord-vencord
# spotify
pavucontrol
lazygit
btop

View File

@@ -0,0 +1,38 @@
{ pkgs, lib, ... }:
let
in
{
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
PCIE_ASPM_ON_BAT = "powersave";
CPU_SCALING_GOVERNOR_ON_AC = "balanced";
PCIE_ASPM_ON_AC = "balanced";
START_CHARGE_THRESH_BAT0 = 40; # 40 and below it starts to charge
STOP_CHARGE_THRESH_BAT0 = 80; # 80 and above it stops charging
};
};
# services.tuned.enable = true;
services.thermald.enable = true;
services.upower = {
enable = true;
};
# boot.kernelParams = [ "mem_sleep_default=deep" ];
services.logind.settings.Login = {
HandleLidSwitch = "suspend-then-hibernate";
HandleLidSwitchExternalPower = "ignore";
HandleLidSwitchDocked = "ignore";
};
systemd.sleep.extraConfig = ''
HibernateDelaySec=30min
SuspendEstimationSec=120
'';
# one of "ignore", "poweroff", "reboot", "halt", "kexec", "suspend", "hibernate", "hybrid-sleep", "suspend-then-hibernate", "lock"
powerManagement = {
enable = true;
powertop.enable = true;
};
}

View File

@@ -16,6 +16,7 @@ in
{
imports = [
inputs.sops-nix.nixosModules.sops
./laptop.nix
];
modules = {
fish.enable = true;
@@ -24,11 +25,12 @@ in
steam.enable = false;
Hyprland.enable = true;
wivrn.enable = false;
fonts.enable = true;
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages_6_12; # Hibernate works on 6.12 but not on latest
networking.hostName = "doloro-nixos-laptop"; # Define your hostname.
security.rtkit.enable = true;
@@ -37,7 +39,8 @@ in
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/London";
# time.timeZone = "Europe/London";
services.automatic-timezoned.enable = true;
nix.settings = {
substituters = [
@@ -59,6 +62,11 @@ in
};
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # VA-API (iHD) userspace
# vpl-gpu-rt # oneVPL (QSV) runtime
intel-compute-runtime # OpenCL (NEO) + Level Zero for Arc/Xe
];
};
services.openssh = {
enable = true;
@@ -70,9 +78,6 @@ in
users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBaa6Z5qtBSLEz+A4fQGYPfkOISsRQlmKkVbcx2zxML7"
];
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
# i18n.defaultLocale = "en_US.UTF-8";
@@ -85,17 +90,6 @@ in
# Enable the X11 windowing system.
services.xserver.enable = true;
# Configure keymap in X11
# services.xserver.xkb.layout = "us";
# services.xserver.xkb.options = "eurosign:e,caps:escape";
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# services.pulseaudio.enable = true;
# OR
sops = {
defaultSopsFile = builtins.toPath "${nix-meow.flakeRoot}/secrets/users.yaml";
secrets = {
@@ -107,6 +101,7 @@ in
};
};
};
services.pipewire = {
enable = true;
pulse.enable = true;
@@ -122,9 +117,13 @@ in
packages = with pkgs; [
tree
];
# initialPassword = "sex";
hashedPasswordFile = config.sops.secrets."doloro-hashed_password".path;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBaa6Z5qtBSLEz+A4fQGYPfkOISsRQlmKkVbcx2zxML7" # pc public key
];
# initialPassword = "sex";
};
users.mutableUsers = false;
# programs.firefox.enable = true;

View File

@@ -23,7 +23,10 @@
# ../../overlays.nix
# ];
modules = {
Hyprland.enable = true;
Hyprland = {
enable = true;
suspend-on-hibernate = true;
};
quickshell.enable = true;
# chromium.enable = true;
wivrn.enable = true;
@@ -31,9 +34,13 @@
nixvim.enable = true;
helix.enable = false;
stylix.enable = true;
kitty.enable = true;
tmux.enable = true;
theme.enable = true;
obs.enable = true;
obs = {
enable = true;
autostart = true;
};
blender.enable = true;
bottles.enable = true;
fish.enable = true;
@@ -48,6 +55,24 @@
home.username = "doloro";
home.homeDirectory = "/home/doloro";
wayland.windowManager.hyprland.settings = {
monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, 1"
"DP-3, 1920x1080@144, 1920x0, 1"
];
exec-once = [
"hyprctl dispatch workspace 2" # shit solution to get quickshell on the right monitor
];
workspace = [
"name:2, monitor:DP-3"
];
input = {
kb_layout = "gb";
follow_mouse = 2;
sensitivity = -0.5;
};
};
services = {
gpg-agent = {
enable = true;
@@ -89,39 +114,6 @@
gcr
qbittorrent
];
# sops.age.keyFile = "/home/doloro/.config/sops/age/key.txt";
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell
# through Home Manager then you have to manually source 'hm-session-vars.sh'
# located at either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/doloro/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
EDITOR = "nvim";
};
@@ -130,8 +122,8 @@
enable = true;
};
};
xdg.configFile."mimeapps.list".force = true;
# Let Home Manager install and manage itself.
programs = {
ssh = {

View File

@@ -24,6 +24,7 @@ in
steam.enable = true;
Hyprland.enable = true;
wivrn.enable = true;
fonts.enable = true;
};
# Use the systemd-boot EFI boot loader.
@@ -174,29 +175,29 @@ in
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
fonts = {
enableDefaultPackages = true;
packages =
with pkgs;
[
nerd-fonts.jetbrains-mono
material-design-icons
material-symbols
googlesans-code
nerd-fonts.caskaydia-cove
nerd-fonts.noto
noto-fonts-cjk-sans
noto-fonts-cjk-serif
]
++ [
(inputs.font-patcher.lib.patchFont {
font = "${pkgs.googlesans-code}/share/fonts/googlesans-code/GoogleSansCode[wght].ttf";
name = "Google Sans Code Nerd Font";
inherit system;
})
];
fontDir.enable = true;
};
# fonts = {
# enableDefaultPackages = true;
# packages =
# with pkgs;
# [
# nerd-fonts.jetbrains-mono
# material-design-icons
# material-symbols
# googlesans-code
# nerd-fonts.caskaydia-cove
# nerd-fonts.noto
# noto-fonts-cjk-sans
# noto-fonts-cjk-serif
# ]
# ++ [
# (inputs.font-patcher.lib.patchFont {
# font = "${pkgs.googlesans-code}/share/fonts/googlesans-code/GoogleSansCode[wght].ttf";
# name = "Google Sans Code Nerd Font";
# inherit system;
# })
# ];
# fontDir.enable = true;
# };
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [