feat: full refactoring - work in progress...

This commit is contained in:
Xavier Morel
2025-07-23 16:49:52 +02:00
parent 66f7edf9a3
commit 85fdab6375
38 changed files with 726 additions and 774 deletions

View File

@@ -1,5 +1,7 @@
{
inputs,
outputs,
myLib,
modulesPath,
lib,
pkgs,
@@ -7,134 +9,55 @@
}:
{
imports = [
inputs.disko.nixosModules.disko
(modulesPath + "/installer/scan/not-detected.nix")
./disk-config.nix
./hardware-configuration.nix
];
boot.loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;
myNixOS = {
home-users = {
"xmorel" = {
userConfig = ./home.nix;
};
};
archetype.general.enable = true;
};
services.openssh.enable = true;
environment.sessionVariables = {
FLAKE = "/etc/nixos";
boot = {
loader.grub = {
efiSupport = true;
efiInstallAsRemovable = true;
};
kernelModules = [
"coretemp"
"cpuid"
];
kernelParams = [
"quiet"
"amd_pstate=guided"
"processor.max_cstate=1"
];
initrd.kernelModules = [ "amdgpu" ];
plymouth.enable = true;
};
environment.systemPackages = map lib.lowPrio [
pkgs.curl
pkgs.gitMinimal
# pkgs.slack
# pkgs.teams-for-linux
pkgs.openvpn
hardware = {
sane.enable = true;
};
networking.hostName = "work-laptop";
nix.settings.trusted-users = [
"root"
"xmorel"
];
networking = {
hostName = "work-laptop";
networkmanager.enable = true;
};
time.timeZone = "Europe/Paris";
i18n.defaultLocale = "fr_FR.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
virtualisation.docker = {
powerManagement = {
enable = true;
cpuFreqGovernor = "schedutil";
};
services.auto-cpufreq.enable = true;
security.sudo.wheelNeedsPassword = false;
services.xserver.videoDrivers = [ "amdgpu" ];
virtualisation.docker.enable = true; # feature virtualisation
security.rtkit.enable = true;
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
};
# gc = {
# automatic = true;
# dates = "weekly";
# option = "--delete-older-than 10d";
# };
};
services = {
xserver.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
cli-environment.enable = true;
# desktop-apps.enable = true;
dev-environment.enable = true;
fonts.enable = true;
window-manager.enable = true;
};
users.users = {
xmorel = {
shell = pkgs.fish;
isNormalUser = true;
extraGroups = [
"networkmanager"
"wheel"
"docker"
];
initialPassword = "toto";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBd3US4tUcbWZQgcVOtZIcbHF5mHwzJzygrQuE/pGde6"
];
};
root = {
initialPassword = "toto";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBd3US4tUcbWZQgcVOtZIcbHF5mHwzJzygrQuE/pGde6"
];
};
};
home-manager = {
extraSpecialArgs = { inherit inputs; };
users = {
"xmorel" = import ./home.nix;
};
};
stylix = {
enable = true;
image = ../../wall.jpg;
polarity = "dark";
opacity.terminal = 0.9;
cursor.package = pkgs.bibata-cursors;
cursor.name = "Bibata-Modern-Ice";
cursor.size = 24;
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.montserrat;
name = "Montserrat";
};
serif = {
package = pkgs.montserrat;
name = "Montserrat";
};
sizes = {
applications = 12;
terminal = 12;
desktop = 11;
popups = 12;
};
};
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "24.05";
}

View File

@@ -1,112 +1,24 @@
{
pkgs,
...
}:
{
imports = [
../../modules/home-manager/kitty.nix
];
myHome = {
kitty.enable = true;
services.nix.enable = true;
bundle.work-apps.enable = true;
bundle.myhypr.enable = true;
bundle.desktop-apps.enable = true;
bundle.shell.enable = true;
};
home = {
username = "xmorel";
homeDirectory = "/home/xmorel";
sessionVariables = {
FLAKE = "/home/xmorel/nixos/";
};
packages = with pkgs; [
devenv
lazyjj
# slack
tailscale-systray
tree
ungoogled-chromium
xfce.thunar
xfce.thunar-archive-plugin
xfce.thunar-volman
yt-dlp
vial
];
file.".config/nvim" = {
source = ../../dotfiles/nvim;
recursive = true;
};
file.".config/hypr" = {
source = ../../dotfiles/hypr;
recursive = true;
};
shell.enableFishIntegration = true;
stateVersion = "23.11";
};
nix = {
# package = pkgs.nix;
settings = {
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
trusted-users = [
"root"
"xmorel"
];
};
gc = {
automatic = true;
};
extraOptions = ''
extra-substituters = https://devenv.cachix.org
extra-trusted-public-keys = devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=
'';
programs.git = {
userName = "Xavier Morel";
userEmail = "morelx42@gmail.com";
};
programs = {
awscli.enable = true;
bat = {
enable = true;
extraPackages = with pkgs.bat-extras; [ batman ];
};
btop = {
enable = true;
settings.vim_keys = true;
};
direnv.enable = true;
eza = {
enable = true;
extraOptions = [ "--group-directories-first" ];
git = true;
icons = "auto";
};
fish = {
enable = true;
shellAliases = {
ls = "eza";
cat = "bat";
ll = "eza -lh";
l = "eza -lh";
la = "eza -lah";
man = "batman";
};
interactiveShellInit = ''
source /usr/share/cachyos-fish-config/cachyos-config.fish
fish_vi_key_bindings
'';
};
fzf.enable = true;
gh.enable = true;
gpg.enable = true;
home-manager.enable = true;
jujutsu.enable = true;
lazygit.enable = true;
nh.enable = true;
nix-your-shell.enable = true;
rbw.enable = true;
ripgrep.enable = true;
starship.enable = true;
yazi.enable = true;
};
home.stateVersion = "23.11";
programs.home-manager.enable = true;
}