adapt work pc

This commit is contained in:
afoucaultc 2026-08-07 22:46:05 +02:00
parent 4898f5cc5f
commit dca271648e
54 changed files with 126 additions and 847 deletions

View file

@ -1 +0,0 @@
/nix/store/r3344bjbakm2dxxl79bfps7q65lrh0a4-home-manager-files/.config/hypr/.luarc.json

View file

@ -1 +0,0 @@
/nix/store/r3344bjbakm2dxxl79bfps7q65lrh0a4-home-manager-files/.config/hypr/hyprland.lua

View file

@ -1 +1 @@
/nix/store/r3344bjbakm2dxxl79bfps7q65lrh0a4-home-manager-files/.config/inkscape/palettes
/nix/store/s13yx204km1b2wcpy7p2va1nyh9jd1f4-home-manager-files/.config/inkscape/palettes

View file

@ -1 +1 @@
/nix/store/r3344bjbakm2dxxl79bfps7q65lrh0a4-home-manager-files/.config/inkscape/templates
/nix/store/s13yx204km1b2wcpy7p2va1nyh9jd1f4-home-manager-files/.config/inkscape/templates

View file

@ -1 +1 @@
/nix/store/r3344bjbakm2dxxl79bfps7q65lrh0a4-home-manager-files/.config/kitty/kitty.conf
/nix/store/s13yx204km1b2wcpy7p2va1nyh9jd1f4-home-manager-files/.config/kitty/kitty.conf

483
flake.lock generated
View file

@ -1,38 +1,5 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1785877886,
"narHash": "sha256-H2CrAlJD9FsUbSEIhPVK3IyVjnK0vSxPruBef17GcBs=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "1a10fe26a9f7d989c359e6a9ea61aa2e44d06c36",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
@ -117,22 +84,6 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@ -209,325 +160,6 @@
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1776511930,
"narHash": "sha256-fCpwFiTW0rT7oKJqr3cqHMnkwypSwQKpbtUEtxdkgrM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "39435900785d0c560c6ae8777d29f28617d031ef",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1785855875,
"narHash": "sha256-dpW3UKG2NTboxxYGzOX4nZiH8YI++CpgosHmVaquOEI=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "8699c38f0e4a1ca3bfc84f84ba020509ced1f133",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1786114408,
"narHash": "sha256-AvVYhJCOtgvzMcJqVFMBdNAw2aGmM8bzIJRWwhNzRpI=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "face6d144be7e33c7f49798d8cc5e8fe416de43c",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1784533903,
"narHash": "sha256-Ee78BRFi+MrmgHmmW+2dZUEI1R3cssEzza0ar3fsNX8=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "a16ad89ed5fb4192c966018a80c652de8d96f748",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1772460177,
"narHash": "sha256-/6G/MsPvtn7bc4Y32pserBT/Z4SUUdBd4XYJpOEKVR4=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "1cb6db5fd6bb8aee419f4457402fa18293ace917",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1777320127,
"narHash": "sha256-Qu+Wf2Bp5qUjyn2YpZNq8a7JyzTGowhT1knrwE38a9U=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "090117506ddc3d7f26e650ff344d378c2ec329cc",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1782554491,
"narHash": "sha256-+p3MlyN/nqRefcf2IckPlGRUn9+hielqpS9XClbLleM=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "bdba25ced39ea39ab004a8f31593ba0b0ff1ca35",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1785843795,
"narHash": "sha256-DFc543bQN94Kt+RsD3Hiu7qCA1uKdqaFJKPMjzANKGU=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "5a7b8cf221914ce4714407950e4ffbdddcd8b66f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1777159683,
"narHash": "sha256-Jxixw6wZphUp+nHYxOKUYSckL17QMBx2d5Zp0rJHr1g=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "b8632713a6beaf28b56f2a7b0ab2fb7088dbb404",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1784465130,
"narHash": "sha256-ak5fWEmWZyax8trkV4aphdvjrbUiSyl6qS+y5GwBS7Y=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "7d935bb54674aa0fbd327d2a6888bd0630079ed0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github"
}
},
"niri": {
"inputs": {
"niri-stable": "niri-stable",
@ -588,7 +220,7 @@
},
"nixos-hardware": {
"inputs": {
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1785232496,
@ -606,18 +238,15 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1785828668,
"narHash": "sha256-8fsyqeO+mJqvIzeO4xIpgJe/f7MTbbVTEC6RT6WSXNs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e72e4f299401a3689d4b3d5fc6496b11db7064eb",
"type": "github"
"lastModified": 1767892417,
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs-stable": {
@ -637,19 +266,6 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1785967620,
"narHash": "sha256-IItrdb7Puk05RqOBWZYFC5X6Wl1sJmCfh5MWVHw5iMM=",
@ -690,35 +306,12 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"hyprland": "hyprland",
"niri": "niri",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"stylix": "stylix",
"zen-browser": "zen-browser"
}
@ -736,7 +329,7 @@
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"systems": "systems",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
@ -757,21 +350,6 @@
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
@ -851,47 +429,6 @@
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1785846792,
"narHash": "sha256-sNIGmqZJiOM/lCWUuslV53zuk/p5sGCRcS3kHKfxQvA=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "b653ab53a435e92cc00f34771e6823bc59f2f740",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"xwayland-satellite-stable": {
"flake": false,
"locked": {

View file

@ -10,7 +10,8 @@
inputs.nixpkgs.follows = "nixpkgs";
};
# flake hyprland (git version)
hyprland.url = "github:hyprwm/Hyprland";
#hyprland.url = "github:hyprwm/Hyprland";
# hardware
nixos-hardware.url = "github:NixOS/nixos-hardware";
# flake niri (git version
niri = {
@ -39,7 +40,7 @@
self,
nixpkgs,
home-manager,
hyprland,
#hyprland,
niri,
nixos-hardware,
zen-browser,

View file

@ -9,10 +9,11 @@
./packages/btop.nix
./packages/firefox.nix
./packages/git.nix
./packages/hyprland.nix
#./packages/hyprland.nix
./packages/kitty.nix
./packages/mpv.nix
./packages/neovim.nix
./packages/niri/niri.nix
./packages/nextcloud.nix
./packages/other_apps_light.nix
./packages/protonmail.nix

View file

@ -9,7 +9,7 @@
./packages/btop.nix
./packages/firefox.nix
./packages/git.nix
./packages/hyprland.nix
#./packages/hyprland.nix
./packages/kitty.nix
./packages/mpv.nix
#./packages/music.nix

View file

@ -4,7 +4,7 @@
enable = true;
slowdown = 1.0;
workspace-switch.spring = {
workspace-switch.kind.spring = {
damping-ratio = 1.0;
stiffness = 1000;
epsilon = 0.0001;
@ -24,25 +24,25 @@
};
};
horizontal-view-movement.spring = {
horizontal-view-movement.kind.spring = {
damping-ratio = 1.0;
stiffness = 800;
epsilon = 0.0001;
};
window-movement.spring = {
window-movement.kind.spring = {
damping-ratio = 1.0;
stiffness = 800;
epsilon = 0.0001;
};
window-resize.spring = {
window-resize.kind.spring = {
damping-ratio = 1.0;
stiffness = 800;
epsilon = 0.0001;
};
config-notification-open-close.spring = {
config-notification-open-close.kind.spring = {
damping-ratio = 0.6;
stiffness = 1000;
epsilon = 0.001;
@ -54,7 +54,7 @@
curve = "ease-out-quad";
};
};
overview-open-close.spring = {
overview-open-close.kind.spring = {
damping-ratio = 1.0;
stiffness = 800;
epsilon = 0.0001;

View file

@ -1,19 +1,21 @@
{ ... }:
{
programs.niri.settings.input = {
mod-key = "Alt";
keyboard = {
xkb = {
layout = "fr";
variant = "";
model = "";
rules = "";
options = "caps:escape";
#options = "caps:escape";
};
repeat-delay = 600;
repeat-rate = 25;
track-layout = "global";
numlock = true;
};
touchpad = {
enable = false;
tap = true;
@ -41,7 +43,6 @@
focus-follows-mouse = {
enable = true;
# max-scroll-amount = "0%";
};
};

View file

@ -3,13 +3,29 @@
programs.niri.settings.binds = {
# open programs
"ALT+Q".action.spawn = "kitty";
"ALT+W".action.spawn = "fuzzel";
"ALT+D".action.spawn = "dolphin";
"ALT+W".action.spawn = [
"rofi"
"-show"
"drun"
];
"ALT+X".action.spawn = [
"rofi"
"-show"
"window"
];
"ALT+C".action.spawn = [
"rofi"
"-show"
"filebrowser"
];
"ALT+D".action.spawn = "nautilus";
"ALT+N".action.spawn = [
"kitty"
"-e"
"nvim"
];
"Alt+F".action.spawn = [ "zen-beta" ];
"Alt+Z".action.spawn = [ "zotero" ];
"Alt+T".action.spawn = [ "thunderbird" ];
@ -17,34 +33,29 @@
# other actions
"ALT+F4".action.close-window = { };
"ALT+V".action.toggle-window-floating = { };
"Ctrl+M".action.maximize-column = { };
"Ctrl+F".action.fullscreen-window = { };
"CTRL+M".action.maximize-column = { };
"CTRL+F".action.fullscreen-window = { };
"ALT+H".action.focus-column-left = { };
"ALT+L".action.focus-column-right = { };
"ALT+K".action.focus-window-up = { };
"ALT+J".action.focus-window-down = { };
"ALT+K".action.focus-workspace-up = { };
"ALT+J".action.focus-workspace-down = { };
"Ctrl+Super+H".action.move-column-left = { };
"Ctrl+Super+L".action.move-column-right = { };
"Ctrl+Super+K".action.move-window-up = { };
"Ctrl+Super+J".action.move-window-down = { };
"Super+L".action.focus-workspace-down = { };
"Super+H".action.focus-workspace-up = { };
"Super+K".action.move-column-to-workspace-down = { };
"Super+J".action.move-column-to-workspace-up = { };
"Super+H".action.move-column-left = { };
"Super+L".action.move-column-right = { };
"Super+K".action.move-column-to-workspace-up = { };
"Super+J".action.move-column-to-workspace-down = { };
"Alt+A".action.focus-monitor-left = { };
"Alt+B".action.focus-monitor-right = { };
"Ctrl+Super+A".action.move-column-to-monitor-left = { };
"Ctrl+Super+B".action.move-column-to-monitor-right = { };
"Super+A".action.move-column-to-monitor-left = { };
"Super+B".action.move-column-to-monitor-right = { };
"Alt+R".action.switch-preset-column-width = { };
"Ctrl+H".action.set-column-width = [ "-10%" ];
"Ctrl+L".action.set-column-width = [ "+10%" ];
"Ctrl+K".action.set-window-height = "-10%";
"Ctrl+J".action.set-window-height = "+10%";
"Ctrl+Alt+H".action.set-column-width = [ "-10%" ];
"Ctrl+Alt+L".action.set-column-width = [ "+10%" ];
"Ctrl+Alt+J".action.set-window-height = "-10%";
"Ctrl+Alt+K".action.set-window-height = "+10%";
"Print".action.screenshot = { };
"Ctrl+Print".action.screenshot-screen = { };
@ -111,7 +122,7 @@
};
# Verrouillage d'écran
"Ctrl+Alt+L" = {
"Ctrl+Alt+Delete" = {
action.spawn = [ "swaylock" ];
allow-when-locked = true;
};

View file

@ -1,9 +1,9 @@
{ ... }:
{
programs.niri.settings.layout = {
gaps = 16;
gaps = 8;
center-focused-column = "never"; # never, always, on-overflow
always-center-single-column = false;
always-center-single-column = true;
preset-column-widths = [
{ proportion = 0.33333; }
@ -21,7 +21,7 @@
focus-ring = {
enable = true;
width = 4;
width = 2;
# active.color = "#7fc8ff";
# inactive.color = "#505050";
# urgent.color = "#9b0000";
@ -29,7 +29,7 @@
border = {
enable = false;
width = 4;
width = 2;
# active.color = "#ffc87f";
# inactive.color = "#505050";
# urgent.color = "#9b0000";
@ -43,8 +43,6 @@
x = 0;
y = 5;
};
# color = "#0007";
# inactive-color = null;
};
tab-indicator = {
@ -70,8 +68,8 @@
struts = {
left = 0;
right = 0;
top = 0;
bottom = 0;
top = 10;
bottom = 10;
};
# background-color = "transparent";

View file

@ -17,6 +17,7 @@
QT_QPA_PLATFORM = "wayland";
MOZ_ENABLE_WAYLAND = "1";
};
cursor = {
theme = "Bibata-Modern-Ice";
size = 24;
@ -28,6 +29,7 @@
enable = true;
path = "xwayland-satellite";
};
clipboard.disable-primary = false;
hotkey-overlay.skip-at-startup = false;
overview.zoom = 0.5;

View file

@ -2,7 +2,7 @@
{
programs.niri.settings.window-rules = [
{
matches = [ { app-id = "^firefox$"; } ];
matches = [ { app-id = "^zen-beta$"; } ];
default-column-width = {
proportion = 0.66667;
};
@ -23,12 +23,6 @@
{
matches = [ { app-id = "^kitty$"; } ];
opacity = 0.95;
geometry-corner-radius = {
top-left = 8.0;
top-right = 8.0;
bottom-left = 8.0;
bottom-right = 8.0;
};
clip-to-geometry = true;
}
];

View file

@ -5,10 +5,10 @@
./settings.nix
];
home.packages = with pkgs; [
fuzzel
rofi
kitty
swaylock
wireplumber # fournit wpctl
wireplumber
brightnessctl
];
}

View file

@ -26,18 +26,8 @@
]
))
gnuplot
# --- Gestion de fichiers KDE ---
kdePackages.dolphin
kdePackages.dolphin-plugins
kdePackages.kio-extras
kdePackages.qtsvg
kdePackages.ark
kdePackages.kdegraphics-thumbnailers
kdePackages.ffmpegthumbs
kdePackages.kio
kdePackages.kservice
kdePackages.kconfig
# --- Fichiers
nautilus
# --- Others
hyfetch
ncpamixer

View file

@ -13,6 +13,7 @@
printing.enable = true;
openssh.enable = false;
flatpak.enable = true;
fprintd.enable = true;
};
virtualisation.docker.enable = true;
}

5
hosts/common/niri.nix Normal file
View file

@ -0,0 +1,5 @@
{ pkgs, ... }:
{
programs.niri.enable = true;
programs.niri.package = pkgs.niri;
}

View file

@ -1,7 +1,7 @@
{ pkgs, ... }:
{
# grub utilisé pour le bootloader
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernelPackages = pkgs.linuxPackages;
boot.loader.grub = {
enable = true;
device = "nodev";

View file

@ -1,4 +0,0 @@
{ ... }:
{
programs.niri.enable = true;
}

View file

@ -1,8 +0,0 @@
{ ... }:
{
services.gvfs.enable = true;
services.tumbler.enable = true;
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
};
}

View file

@ -4,31 +4,31 @@
# généré à l'installation avec nixos-generate-config
# à copier dans le dossier courant depuis /etc/nixos
./hardware-configuration.nix
# machine spécifique
./config/boot.nix
./config/drivers_video.nix
./config/power-management.nix
# ensemble de packages et configurations système
./config/basesystem/bluetooth.nix
./config/basesystem/boot.nix
./config/basesystem/drivers_video.nix
./config/basesystem/language.nix
./config/basesystem/memory.nix
./config/basesystem/system.nix
./config/basesystem/system_saves.nix
./config/basesystem/users.nix
../common/basesystem/bluetooth.nix
../common/basesystem/language.nix
../common/basesystem/memory.nix
../common/basesystem/system.nix
../common/basesystem/system_saves.nix
../common/basesystem/users.nix
# style
./config/style/fonts.nix
./config/style/stylix.nix
../common/style/fonts.nix
../common/style/stylix.nix
# additional services
./config/services/gnome-keyring.nix
./config/services/kde.nix
./config/services/mullvad.nix
./config/services/power_management.nix
./config/services/sound.nix
../common/services/gnome-keyring.nix
../common/services/mullvad.nix
../common/services/sound.nix
# programs
./config/programs/gamescope.nix
./config/programs/steam.nix
../common/programs/gamescope.nix
../common/programs/steam.nix
# packages & others
./config/hyprland.nix
./config/wayland.nix
./config/system_packages.nix
../common/niri.nix
../common/wayland.nix
../common/system_packages.nix
# profil nixos pour mon ordi portable maison
# nécessite l'input nixos-hardware dans flake.nix.
inputs.nixos-hardware.nixosModules.common-cpu-intel # active le microcode intel, KMS pour GPU intégré, etc...
@ -43,15 +43,10 @@
# ne pas toucher, défini une seule fois en fonction de la version de nixos de l'ISO pour la 1ère installation
system.stateVersion = "25.11";
# nécessaire pour permettre des dépendances problématiques parfois
#nixpkgs.config.permittedInsecurePackages = [
# "electron-39.8.10"
#];
nixpkgs.overlays = [
(final: prev: {
streamlink = prev.streamlink.overridePythonAttrs (old: {
doCheck = false;
# or, to skip just the one test:
# disabledTests = (old.disabledTests or []) ++ [ "test_read_timeout" ];
});
})
];

View file

@ -1,23 +0,0 @@
# Host `nixos-laptop` — ThinkPad E560
Profil **léger et faible RAM (4 Gio)** : i5-6200U, Intel HD 520 (pas de GPU dédié)
## Faible RAM — ce qui est en place (`config/low-ram.nix`)
- `max-jobs = 1`, `cores = 2` : on ne sature pas les 4 Gio pendant un build.
- `builders-use-substitutes`, `fallback`, 3 caches binaires : on télécharge
du pré-compilé au lieu de compiler.
- `zramSwap` 150 % en zstd + `vm.swappiness = 180` : swap compressé rapide.
- `earlyoom` : tue proprement le process le plus gourmand avant un freeze total.
### Si un rebuild rame quand même
Un paquet absent des caches sera compilé localement. Deux options :
1. Éviter les inputs qui forcent la compilation
2. Créer son propre cache Cachix et y pousser depuis le poste maison :
```bash
# sur le poste maison, après un build :
cachix push mon-cache ./result
```
puis ajouter `https://mon-cache.cachix.org` aux `substituters` de `config/low-ram.nix`. Le laptop récupèrera alors les binaires sans compiler.
## Empreinte digitale
`services.fprintd.enable = true`. `fprintd-enroll` après install.

View file

@ -1,6 +0,0 @@
{ ... }:
{
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
services.blueman.enable = true;
}

View file

@ -1,14 +0,0 @@
{ pkgs, ... }:
{
# mullvad VPN
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
# intégration gestionnaire de fichiers (pour Dolphin)
#services.gvfs.enable = true;
#services.tumbler.enable = true;
#environment.sessionVariables = {
# NIXOS_OZONE_WL = "1";
#};
}

View file

@ -1,30 +0,0 @@
{ pkgs, ... }: {
fonts.packages = with pkgs; [
# Sans / Source (adobe-source-*-fonts, source-han-sans)
source-sans
source-serif
source-han-sans # adobe-source-han-sans-otc-fonts
source-han-serif
# Noto + emoji + CJK (noto-fonts-cjk, noto-fonts-emoji)
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
# Microsoft / Windows (ttf-ms-fonts + corefonts)
corefonts
vista-fonts # tahoma, etc. (unfree)
# Latin Modern / TeX Gyre (otf-latin-modern, tex-gyre-math)
lmodern
gyre-fonts
# Accessibilité (ttf-luciole)
texlivePackages.luciole
# Nerd fonts / symboles (ttf-nerd-fonts-symbols, font-awesome, woff2-font-awesome)
nerd-fonts.symbols-only
font-awesome
# Fontes de code utiles
fira-code
jetbrains-mono
dejavu_fonts
liberation_ttf
];
}

View file

@ -1,13 +0,0 @@
{ pkgs, inputs, ... }:
{
programs.hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
};
# Portails XDG (captures d'écran, partage d'écran, file pickers Wayland)
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
security.polkit.enable = true;
}

View file

@ -1,19 +0,0 @@
{ ... }:
{
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";
};
console = {
keyMap = "fr-latin1";
};
}

View file

@ -1,12 +0,0 @@
{ ... }:
{
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
}

View file

@ -1,29 +0,0 @@
{ pkgs, ... }:
{
# style global
stylix = {
enable = true;
targets.gtksourceview.enable = false;
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
polarity = "dark";
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "Noto Sans Mono";
};
sansSerif = {
package = pkgs.texlivePackages.luciole;
name = "Luciole";
};
sizes = {
applications = 11;
terminal = 12;
};
};
};
}

View file

@ -1,22 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
git
vim
gnumake
gcc
wget
curl
unzip
tree
ripgrep
translate-shell
xclip
powertop
brightnessctl
ntfs3g
pciutils
usbutils
inxi
];
}

View file

@ -1,8 +0,0 @@
{ ... }:
{
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
}

View file

@ -1,18 +0,0 @@
{ ... }:
{
networking = {
hostName = "nixos-laptop";
networkmanager.enable = true;
firewall.enable = true;
};
services = {
xserver.xkb = {
layout = "fr";
variant = "";
};
printing.enable = true;
openssh.enable = false;
flatpak.enable = true;
fprintd.enable = true;
};
}

View file

@ -1,13 +0,0 @@
{ pkgs, ... }:
{
users.users.afoucaultc = {
isNormalUser = true;
description = "afoucaultc";
extraGroups = [
"networkmanager"
"wheel"
];
shell = pkgs.zsh;
};
programs.zsh.enable = true;
}

View file

@ -1,40 +0,0 @@
{
pkgs,
lib,
inputs,
...
}:
{
security = {
polkit.enable = true;
pam.services.hyprlock = { };
};
programs = {
dconf.enable = true;
xwayland.enable = true;
};
services.graphical-desktop.enable = true;
services.xserver.desktopManager.runXdgAutostartIfNone = lib.mkDefault true;
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIITfGmwGaMwaOAd6DDeaU="
];
};
security.wrappers.Hyprland = {
owner = "root";
group = "root";
capabilities = "cap_sys_nice+ep";
source = lib.getExe inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
};
}

View file

@ -4,24 +4,32 @@
# généré à l'installation avec nixos-generate-config
# à copier dans le dossier courant depuis /etc/nixos
./hardware-configuration.nix
# ensemble de packages et configurations système
./config/bluetooth.nix
# machine spécifique
./config/boot.nix
./config/drivers_video.nix
./config/extra-services.nix
./config/fonts.nix
./config/language.nix
./config/power_management.nix
./config/sound.nix
./config/stylix.nix
./config/system_packages.nix
./config/system_saves.nix
./config/system_services.nix
./config/user.nix
./config/wayland.nix
# ajout pour forcer l'utilisation de cachix au max
./config/low-ram.nix
# profil nixos-hardware pour le ThinkPad E560
./drivers_video.nix
./low-ram.nix
./config/power-management.nix
# ensemble de packages et configurations système
../common/basesystem/bluetooth.nix
../common/basesystem/language.nix
../common/basesystem/memory.nix
../common/basesystem/system.nix
../common/basesystem/system_saves.nix
../common/basesystem/users.nix
# style
../common/style/fonts.nix
../common/style/stylix.nix
# additional services
../common/services/gnome-keyring.nix
../common/services/mullvad.nix
../common/services/sound.nix
# programs
../common/programs/gamescope.nix
../common/programs/steam.nix
# packages & others
../common/niri.nix
../common/wayland.nix
../common/system_packages.nix # profil nixos-hardware pour le ThinkPad E560
# nécessite l'input nixos-hardware dans flake.nix
inputs.nixos-hardware.nixosModules.common-cpu-intel # active le microcode intel
inputs.nixos-hardware.nixosModules.common-pc-laptop # active tlp
@ -33,8 +41,4 @@
nixpkgs.config.allowUnfree = true;
# ne pas toucher, défini une seule fois en fonction de la version de nixos de l'ISO pour la 1ère installation
system.stateVersion = "25.11";
# nécessaire pour permettre des dépendances problématiques parfois
#nixpkgs.config.permittedInsecurePackages = [
# "electron-39.8.10"
#];
}