Compare commits

..

34 Commits

Author SHA1 Message Date
7deb3fe8d9 add autoupdate (test probably broken)
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m28s
2026-04-23 17:24:13 +02:00
5e83ab9626 update vim config, update flake and other things 2026-04-14 16:29:04 +02:00
ea58f1d641 server: zfs: auto scrub, repair zed pushover notifications 2026-04-09 13:30:17 +02:00
5b1b62dd32 plymouth, update laptop power scripts 2026-04-03 12:31:25 +02:00
7972ab111c enable fstrim service to trim disksk weekly 2026-03-31 17:09:28 +02:00
b6bea84f8b add zfs on desktop, changed screen configuration 2026-03-30 15:21:29 +02:00
6913e58e0b fix hyprland config 2026-03-27 12:22:19 +01:00
6a8d644c94 update flake 2026-03-27 12:13:04 +01:00
890d3381a5 set default application, disable monitor turn off when closed, add direnv 2026-03-27 11:46:54 +01:00
1cad2253b3 update lock and fix deprecated settings 2026-02-21 13:57:29 +01:00
091e23932d vbox -> default 2026-02-09 23:31:44 +01:00
c1bebc9df1 ignore line too long on python lsp 2026-02-09 23:25:08 +01:00
7d79e9d8ae change sync url 2026-02-09 13:38:10 +01:00
ebd650e854 only trigger iso rebuild when push on iso branch
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 1m46s
2026-02-07 16:14:03 +01:00
5becaf1588 nvim show diagnostics of line
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 1m48s
2026-02-07 16:12:33 +01:00
447c95c22d disable hugepages in vfio_ready specialisation, add pythonlsp and coq-nvim for autocompletion
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m7s
2026-02-07 00:07:10 +01:00
33c03199a0 glewe110 -> glew_1_100 in nix ld, setup iwd to replace wpa_supplicant (memory leak issue)
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 1m45s
2026-01-29 13:22:23 +01:00
3a0f0192f4 add transmission web interface in allowed ports
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 6m2s
2026-01-27 19:07:03 +01:00
6d045d1d4d uacess on usb df11 devices and setup nix-ld
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 1m36s
2026-01-19 11:51:50 +01:00
86719c309a update flake
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m6s
2026-01-19 11:42:12 +01:00
bdc61737cb update flake
Some checks failed
Build iso when a new version is pushed / test (push) Failing after 13m53s
2025-12-23 18:57:37 +01:00
05861081ce diverse changes, add cloudflared
Some checks failed
Build iso when a new version is pushed / test (push) Failing after 2m27s
2025-12-23 18:42:13 +01:00
724f5361e6 change sync ip address
Some checks failed
Build iso when a new version is pushed / test (push) Failing after 1m49s
2025-12-19 16:52:03 +01:00
c0223fdd09 add droidcam on desktop
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m19s
2025-12-03 21:03:03 +01:00
0e8dfb98c5 game of life on display manager
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m13s
2025-11-21 10:42:20 +01:00
26c4bb6495 laptop turn off screen when closed, set yazi as default file browser 2025-11-21 10:42:19 +01:00
ef6d5cedb0 update git config to follow the renaming of the options
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m5s
2025-11-19 20:32:35 +01:00
a70786d0bb change HDMI-A-3 to 60Hz on desktop (wtf nvidia ?)
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m8s
2025-11-19 20:22:38 +01:00
ca5538c4d1 update flake and add libreoffice to packages
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 1m56s
2025-11-17 11:54:16 +01:00
b0fe851dec change nvidia prime settings, change desktop config screens arangement
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m13s
2025-11-03 16:31:29 +01:00
c631965709 fix screen dispotition on desktop, add yubico-pam on desktop config
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 1m59s
2025-10-26 01:36:53 +02:00
a5134e71b8 add hyprshot and use it with screenshot shortcut
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m28s
2025-10-16 16:11:07 +02:00
93fd2215da gpg signed commits
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m18s
2025-10-11 00:02:54 +02:00
df25ce0495 update flake
All checks were successful
Build iso when a new version is pushed / test (push) Successful in 2m8s
2025-10-05 15:40:49 +02:00
31 changed files with 610 additions and 212 deletions

View File

@ -0,0 +1,18 @@
name: update the nix flake lock automatically every week
run-name: update
on:
schedule:
- cron: "0 4 * * 1"
jobs:
update:
runs-on: ubuntu-latest
steps:
- name: get repo
uses: actions/checkout@v4.2.2
- name: install nix
uses: https://github.com/cachix/install-nix-action@v31
- name: run the update
run: nix flake update

View File

@ -3,7 +3,7 @@ run-name: iso building
on: on:
push: push:
branches: branches:
- 'master' - 'iso'
jobs: jobs:
test: test:

View File

@ -1,10 +1,15 @@
HOST ?= $(file < /etc/nixosFlakeName) HOST ?= $(file < /etc/nixosFlakeName)
THREADS ?= $(shell nproc) THREADS ?= $(shell nproc)
FLAKE ?= . FLAKE ?= .
MODE ?= boot MODE ?= switch
FLAGS = --impure --cores $(THREADS) -j $(THREADS) FLAGS = --impure --cores $(THREADS) -j $(THREADS)
ifdef OFFLINE
FLAGS += --option binary-caches ''
endif
all: os home all: os home
update: update:
@ -13,6 +18,15 @@ update:
os: os:
sudo nixos-rebuild $(MODE) $(FLAGS) --flake $(FLAKE)#$(HOST) sudo nixos-rebuild $(MODE) $(FLAGS) --flake $(FLAKE)#$(HOST)
vm:
sudo nixos-rebuild build-vm $(FLAGS) --flake $(FLAKE)#$(HOST)
./result/bin/*
rm ./result
rm ./*.qcow2
hoem : home
home : home :
home-manager switch $(FLAGS) --flake $(FLAKE)#$(HOST) home-manager switch $(FLAGS) --flake $(FLAKE)#$(HOST)
@ -27,5 +41,5 @@ cleanup :
nix-env --delete-generations +1 nix-env --delete-generations +1
sudo nix-collect-garbage -d sudo nix-collect-garbage -d
optimise : optimize :
nix-store --optimize -vv nix-store --optimize -vv

42
flake.lock generated
View File

@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1758270360, "lastModified": 1775994227,
"narHash": "sha256-yqh6EEhlpVWRoKl85o1s+QZ72UHWTvornnc3C0Ls484=", "narHash": "sha256-4VKeWtl9dEubrgpy9fSXkXbjBZlNXPNlQQM5l1ppHv4=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "2e0aacdd6abbecd1b1c0511a2fcd1460a6bc6645", "rev": "d0a9a21ed8e235956a768fc624242ec9a3e15575",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -26,11 +26,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1758254611, "lastModified": 1776139376,
"narHash": "sha256-5oMrmEG8A5FopmDZJ5QlskhLyf2SsdipGmKpT7n1JCE=", "narHash": "sha256-rBykvCL5GRT6VmiY39XnxAR10cohBsLeAENP0+3JM/0=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "c451ce9fe2c5e0b46b221bb485a7b1e1ca8a3484", "rev": "ccfaa2303117e22752bda4e1a1bb07d17f38ea2d",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -47,11 +47,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758288820, "lastModified": 1776136611,
"narHash": "sha256-ubyO7Ly6NSFN5GgNTEuoIavBFMZOMcRchSTIXiDVtAI=", "narHash": "sha256-b2pu3Pb28W0bJzQVP3OJHZC5+dgOOeqjlli2WVakKEU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e38751933802481b37fee1f9251cbb86e63df381", "rev": "8a423e444b17dde406097328604a64fc7429e34e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -62,11 +62,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1757943327, "lastModified": 1775490113,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", "narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", "rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -78,11 +78,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1758035966, "lastModified": 1775423009,
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=", "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b", "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -94,11 +94,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1758198701, "lastModified": 1775710090,
"narHash": "sha256-7To75JlpekfUmdkUZewnT6MoBANS0XVypW6kjUOXQwc=", "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0147c2f1d54b30b5dd6d4a8c8542e8d7edf93b5d", "rev": "4c1018dae018162ec878d42fec712642d214fdfa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -125,11 +125,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1758007585, "lastModified": 1776119890,
"narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=", "narHash": "sha256-Zm6bxLNnEOYuS/SzrAGsYuXSwk3cbkRQZY0fJnk8a5M=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139", "rev": "d4971dd58c6627bfee52a1ad4237637c0a2fb0cd",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2024/10/17 18:15:24 by tomoron #+# #+# # # Created: 2024/10/17 18:15:24 by tomoron #+# #+# #
# Updated: 2025/09/24 02:10:00 by tomoron ### ########.fr # # Updated: 2025/12/16 19:01:21 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -46,7 +46,12 @@
osConfig = {flakeName, extraModules ? []}: nixpkgs.lib.nixosSystem { osConfig = {flakeName, extraModules ? []}: nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; flakeName = flakeName; }; specialArgs = { inherit inputs; flakeName = flakeName; };
modules = nixpkgs.lib.concatLists [ modules = nixpkgs.lib.concatLists [
[./osConfigs/os.nix ./osConfigs/hosts/${flakeName}.nix catppuccin.nixosModules.catppuccin] [
./osConfigs/os.nix
./osConfigs/hosts/${flakeName}.nix
catppuccin.nixosModules.catppuccin
inputs.sops-nix.nixosModules.sops
]
extraModules extraModules
]; ];
}; };
@ -85,7 +90,7 @@
homeConfigurations = { homeConfigurations = {
vbox = homeConfig { flakeName = "vbox";}; default = homeConfig { flakeName = "default";};
ft = homeConfig { flakeName = "ft"; username = "tomoron"; homeDir = "/home/tomoron"; sops = false;}; ft = homeConfig { flakeName = "ft"; username = "tomoron"; homeDir = "/home/tomoron"; sops = false;};
laptop = homeConfig { flakeName = "laptop"; }; laptop = homeConfig { flakeName = "laptop"; };
desktop = homeConfig { flakeName = "desktop"; }; desktop = homeConfig { flakeName = "desktop"; };

View File

@ -1,4 +1,4 @@
{ lib, pkgs, ... }: { lib, pkgs, config, ... }:
{ {
catppuccin = { catppuccin = {
enable = true; enable = true;
@ -12,6 +12,7 @@
}; };
gtk = { gtk = {
gtk4.theme = config.gtk.theme;
enable = true; enable = true;
theme = { package = pkgs.flat-remix-gtk; name = "Flat-Remix-GTK-Grey-Darkest"; }; theme = { package = pkgs.flat-remix-gtk; name = "Flat-Remix-GTK-Grey-Darkest"; };
font = { name = "Sans"; size = 11; }; font = { name = "Sans"; size = 11; };

View File

@ -0,0 +1,11 @@
{ ... }:
{
xdg.mimeApps.defaultApplications = {
"application/pdf" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"inode/directory" = "yazi.desktop";
"image/*" = "qimgv.desktop";
};
}

View File

@ -4,13 +4,7 @@
enable = true; enable = true;
settings.mgr.sort_dir_first=false; settings.mgr.sort_dir_first=false;
}; };
programs.bash.bashrcExtra = ''
function y() { home.sessionVariables.BROWSER = "yazi";
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd programs.yazi.shellWrapperName = "y";
yazi "$@" --cwd-file="$tmp"
IFS= read -r -d "" cwd < "$tmp"
[ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
rm -f -- "$tmp"
}
'';
} }

View File

@ -1,4 +1,4 @@
{ ... }: { homeDir, ... }:
{ {
home.shell.enableBashIntegration = true; home.shell.enableBashIntegration = true;
home.shellAliases = { home.shellAliases = {
@ -11,6 +11,13 @@
noidle = "systemctl --user stop hypridle"; noidle = "systemctl --user stop hypridle";
}; };
programs.bash.profileExtra = ''
PATH=$PATH:${homeDir}/.cargo/bin
'';
programs.direnv.enable = true;
programs.direnv.enableBashIntegration = true;
programs.bash = { programs.bash = {
enable = true; enable = true;
historyControl = ["ignoreboth"]; historyControl = ["ignoreboth"];

View File

@ -4,19 +4,19 @@
mods.x11.enable = true; mods.x11.enable = true;
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
monitor = [ monitor = [
"HDMI-A-1, 1920x1080@60, 0x0, auto" "DP-2, 1920x1080@60Hz, -1920x0, auto"
"HDMI-A-3, 1920x1080@60, 1920x0, auto" "HDMI-A-3, 1920x1080@60Hz, 0x0, auto"
"DP-1, 1280x1024@60, 3840x0, auto" "DP-3, 1920x1080@60.00Hz, 1920x0, auto"
"DP-3, 1280x1024@60, 5120x0, auto" "DP-4, 1280x1024@75.03Hz, 3840x0, auto"
]; ];
workspace = [ workspace = [
"1, monitor:HDMI-A-1" "3, monitor:DP-2"
"2, monitor:HDMI-A-3, default:true" "1, monitor:HDMI-A-3, default:true"
"3, monitor:DP-1" "2, monitor:DP-3"
"4, monitor:DP-3" "4, monitor:DP-4"
]; ];
env = [ env = [
"AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0" "AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card2"
"LIBVA_DRIVER_NAME,nvidia" "LIBVA_DRIVER_NAME,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia" "__GLX_VENDOR_LIBRARY_NAME,nvidia"
]; ];

View File

@ -27,6 +27,11 @@
", XF86Launch1, exec, hyprlock" ", XF86Launch1, exec, hyprlock"
", XF86Launch4, exec, pkill activate-linux" ", XF86Launch4, exec, pkill activate-linux"
]; ];
bindl = [
# ",switch:off:Lid Switch,exec,hyprctl keyword monitor \"eDP-1, 1920x1080@120, 0x0, 1\""
# ",switch:on:Lid Switch,exec,hyprctl keyword monitor \"eDP-1, disable\""
];
monitor= [ monitor= [
# "eDP-1, modeline 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync, 0x0, 1" # "eDP-1, modeline 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync, 0x0, 1"
"eDP-1, 1920x1080@120, 0x0, 1" "eDP-1, 1920x1080@120, 0x0, 1"
@ -39,79 +44,8 @@
blender blender
wireshark wireshark
localsend localsend
impala
]; ];
# programs.superfile = { services.mpris-proxy.enable = true;
# enable = true;
# hotkeys = {
# # global
# confirm = ["enter" ""];
# quit = ["ctrl+c" ""];
#
# # movement
# list_up = ["k" ""];
# list_down = ["j" ""];
# page_up = ["pgup"""];
# page_down = ["pgdown"""];
#
# # file panel control
# create_new_file_panel = ["n" ""];
# close_file_panel = ["q" ""];
# next_file_panel = ["tab" ""];
# previous_file_panel = ["shift+tab" ""];
# toggle_file_preview_panel = ["f" ""];
# open_sort_options_menu = ["o" ""];
# toggle_reverse_sort = ["R" ""];
#
# # change focus
# focus_on_process_bar = ["ctrl+p" ""];
# focus_on_sidebar = ["ctrl+s" ""];
# focus_on_metadata = ["ctrl+d" ""];
#
# # create file/directory and rename
# file_panel_item_create = ["a" ""];
# file_panel_item_rename = ["r" ""];
#
# # file operations
# copy_items = ["y" ""];
# cut_items = ["x" ""];
# paste_items = ["p" ""];
# delete_items = ["d" ""];
#
# # compress and extract
# extract_file = ["ctrl+e" ""];
# compress_file = ["ctrl+a" ""];
#
# # editor
# open_file_with_editor = ["e" ""];
# open_current_directory_with_editor = ["E" ""];
#
# # other
# pinned_directory = ["P" ""];
# toggle_dot_file = ["." ""];
# change_panel_mode = ["m" ""];
# open_help_menu = ["?" ""];
# open_command_line = [":" ""];
# copy_path = ["Y" ""];
# copy_present_working_directory = ["c" ""];
# toggle_footer = ["ctrl+f" ""];
#
# # Typing hotkeys (can conflict with all hotkeys)
# confirm_typing = ["enter" ""];
# cancel_typing = ["esc" ""];
#
# # =================================================================================================
# # Normal mode hotkeys (can conflict with other modes cannot conflict with global hotkeys)
# parent_directory = ["-" ""];
# search_bar = ["/" ""];
#
# # =================================================================================================
# # Select mode hotkeys (can conflict with other modes cannot conflict with global hotkeys)
# file_panel_select_mode_items_select_down = ["J" ""];
# file_panel_select_mode_items_select_up = ["K" ""];
# file_panel_select_all_items = ["A" ""];
#
# };
# };
} }

View File

@ -11,19 +11,24 @@
programs.git = { programs.git = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;
userEmail = "tomoron@student.42angouleme.fr"; signing.format = "openpgp";
userName = "tomoron"; settings = {
extraConfig = { user.email = "tomoron@student.42angouleme.fr";
user.name = "tomoron";
init.defaultBranch="master"; init.defaultBranch="master";
pull.rebase = true; pull.rebase = true;
push.autoSetupRemote = true; push.autoSetupRemote = true;
rerere.enabled = true; rerere.enabled = true;
help.autocorrect = 1; help.autocorrect = 1;
};
aliases = { user.signingkey = "251B4BD73683A8DF13D760A868BFAFE31DF313AD";
commit.gpgsign = true;
alias = {
fuck = "!f() { git reset --hard \"@{upstream}\" && git restore . && git clean -f .; };f"; fuck = "!f() { git reset --hard \"@{upstream}\" && git restore . && git clean -f .; };f";
back = "reset HEAD~"; back = "reset HEAD~";
}; };
}; };
}; };
};
} }

View File

@ -46,7 +46,7 @@ in
text = (lib.strings.concatStrings ['' text = (lib.strings.concatStrings [''
auto=true auto=true
root=${config.mods.sync.homeFolder} root=${config.mods.sync.homeFolder}
root=ssh://tom@tmoron.fr:1880/${config.mods.sync.destFolder} root=ssh://tom@d.tmoron.fr:1880/${config.mods.sync.destFolder}
'' ''
(lib.strings.concatMapStrings (x: "\npath=" + x) (( if config.mods.sync.defaultSynced then defPathLst else [] ) ++ config.mods.sync.syncedAdditions )) (lib.strings.concatMapStrings (x: "\npath=" + x) (( if config.mods.sync.defaultSynced then defPathLst else [] ) ++ config.mods.sync.syncedAdditions ))
(if !(isNull config.mods.sync.customHostName) then "\nclientHostName=${config.mods.sync.customHostName}" else "") (if !(isNull config.mods.sync.customHostName) then "\nclientHostName=${config.mods.sync.customHostName}" else "")

View File

@ -18,10 +18,128 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
clang-tools clang-tools
nixd nixd
rust-analyzer
nodejs_24 nodejs_24
glsl_analyzer glsl_analyzer
(pkgs.python3.withPackages (ps: with ps; [
python-lsp-server
pylsp-mypy
python-lsp-ruff
pycodestyle
]))
]; ];
# programs.neovim.extraLuaConfig = ''
# vim.lsp.config('pylsp', {})
# '';
programs.neovim.initLua= ''
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' },
}, {
{ name = 'buffer' },
})
})
-- To use git you need to install the plugin petertriho/cmp-git and uncomment lines below
-- Set configuration for specific filetype.
--[[ cmp.setup.filetype('gitcommit', {
sources = cmp.config.sources({
{ name = 'git' },
}, {
{ name = 'buffer' },
})
})
require("cmp_git").setup() ]]--
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = 'buffer' }
}
})
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' }
}, {
{ name = 'cmdline' }
}),
matching = { disallow_symbol_nonprefix_matching = false }
})
local capabilities = require('cmp_nvim_lsp').default_capabilities()
vim.lsp.enable('clangd')
vim.lsp.config('clangd', {
capabilities = capabilities
})
vim.lsp.enable('nixd')
vim.lsp.config('nixd', {
capabilities = capabilities
})
vim.lsp.enable('glsl_analyzer')
vim.lsp.config('glsl_analyzer', {
capabilities = capabilities
})
vim.lsp.enable('pylsp')
vim.lsp.config('pylsp', {
capabilities = capabilities
})
vim.lsp.enable('rust_analyzer')
vim.lsp.config('rust_analyzer', {
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
cargo = {
features = "all"
},
},
},
})
vim.diagnostic.config({
virtual_lines = {
current_line = true
}
})
'';
programs.neovim.extraConfig = '' programs.neovim.extraConfig = ''
set number set number
set ai set ai
@ -62,13 +180,20 @@
Plug 'lambdalisue/fern-renderer-nerdfont.vim' Plug 'lambdalisue/fern-renderer-nerdfont.vim'
Plug 'lambdalisue/fern-git-status.vim' Plug 'lambdalisue/fern-git-status.vim'
Plug 'lambdalisue/fern.vim' Plug 'lambdalisue/fern.vim'
Plug 'hrsh7th/nvim-cmp'
Plug 'ThePrimeagen/99'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
call plug#end() call plug#end()
colorscheme catppuccin-mocha colorscheme catppuccin-mocha
lua require'lspconfig'.clangd.setup{}
lua require'lspconfig'.nixd.setup{}
lua require'lspconfig'.glsl_analyzer.setup{}
set signcolumn=auto set signcolumn=auto
nnoremap <leader>ff <cmd>Telescope find_files<cr> nnoremap <leader>ff <cmd>Telescope find_files<cr>
@ -80,18 +205,19 @@
let g:user42 = 'tomoron' let g:user42 = 'tomoron'
let g:mail42 = 'tomoron@student.42angouleme.fr' let g:mail42 = 'tomoron@student.42angouleme.fr'
let g:fern#renderer = "nerdfont" let g:fern#renderer = "nerdfont"
''; '';
home.file = { home.file = {
#install plug.vim #install plug.vim
".local/share/nvim/site/autoload/plug.vim".source = "${builtins.fetchGit { ".local/share/nvim/site/autoload/plug.vim".source = "${fetchGit {
url = "https://github.com/junegunn/vim-plug"; url = "https://github.com/junegunn/vim-plug";
rev = "d80f495fabff8446972b8695ba251ca636a047b0"; rev = "d80f495fabff8446972b8695ba251ca636a047b0";
ref = "master"; ref = "master";
}}/plug.vim"; }}/plug.vim";
#install stdheader 42 #install stdheader 42
".config/nvim/plugin/stdheader.vim".source = "${builtins.fetchGit { ".config/nvim/plugin/stdheader.vim".source = "${fetchGit {
url = "https://github.com/42Paris/42header"; url = "https://github.com/42Paris/42header";
rev = "e6e6b191871545e0d43f1aad817070bc806b8fa7"; rev = "e6e6b191871545e0d43f1aad817070bc806b8fa7";
ref = "master"; ref = "master";

View File

@ -10,12 +10,14 @@
config = lib.mkIf config.mods.hyprland.enable { config = lib.mkIf config.mods.hyprland.enable {
wayland.windowManager.hyprland.systemd.variables = [ "--all" ]; wayland.windowManager.hyprland.systemd.variables = [ "--all" ];
programs.hyprshot.enable = true;
wayland.windowManager.hyprland.enable = true; wayland.windowManager.hyprland.enable = true;
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
bind = [ 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" " , Print, exec, hyprshot -m region -o ~/screenshots -f $(date +%Y-%m-%d_%H-%M-%S).png"
" SHIFT, Print, exec, grim -t png /dev/stdout | tee ~/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png | wl-copy -t image/png" " SHIFT, Print, exec, hyprshot -m output -m active -o ~/screenshots -f $(date +%Y-%m-%d_%H-%M-%S).png"
"$mainMod, Return, exec, alacritty" "$mainMod, Return, exec, alacritty"
"CTRL_ALT, Q, killactive," "CTRL_ALT, Q, killactive,"
"CTRL_ALT_SHIFT, Q, forcekillactive," "CTRL_ALT_SHIFT, Q, forcekillactive,"
@ -94,12 +96,12 @@
"$mainMod, o, exec, playerctl play-pause" "$mainMod, o, exec, playerctl play-pause"
]; ];
windowrulev2 = [ # windowrulev2 = [
#ignore maximize requests # #ignore maximize requests
"suppressevent maximize, class:.*" # "suppressevent maximize, class:.*"
#fix dragging issues with xwayland # #fix dragging issues with xwayland
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" # "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
]; # ];
input = { input = {
kb_layout = "fr"; kb_layout = "fr";
@ -166,6 +168,12 @@
layout = "dwindle"; layout = "dwindle";
}; };
layerrule = {
name = "no_anim_for_selection";
no_anim = "on";
"match:namespace" = "selection";
};
cursor.no_warps = true; cursor.no_warps = true;
env = [ env = [

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/02/09 22:01:56 by tomoron #+# #+# # # Created: 2025/02/09 22:01:56 by tomoron #+# #+# #
# Updated: 2025/09/05 19:28:45 by tomoron ### ########.fr # # Updated: 2026/03/27 12:00:06 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -19,7 +19,7 @@
htop htop
gnumake gnumake
git git
neofetch fastfetch
clang clang
ninja ninja
gdb gdb
@ -34,7 +34,6 @@
unison unison
brightnessctl brightnessctl
playerctl playerctl
python3
vlc vlc
nix-index nix-index
yubikey-manager yubikey-manager
@ -45,5 +44,8 @@
compiledb compiledb
yubikey-personalization yubikey-personalization
sops sops
libreoffice
doxygen
qimgv
]; ];
} }

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/05 23:37:58 by tomoron #+# #+# # # Created: 2025/09/05 23:37:58 by tomoron #+# #+# #
# Updated: 2025/09/06 00:56:38 by tomoron ### ########.fr # # Updated: 2026/04/03 11:46:09 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -22,6 +22,27 @@
timeout = 1; timeout = 1;
}; };
boot.consoleLogLevel = 3;
boot.initrd.verbose = false;
boot.kernelParams = [
"quiet"
"udev.log_level=3"
"systemd.show_status=auto"
];
catppuccin.plymouth.enable = false;
boot.plymouth = {
enable = true;
theme = "nixos-bgrt";
themePackages = with pkgs; [ #(adi1090x-plymouth-themes.override {
# selected_themes = [ "black_hud" "circle_hud" "square_hud" "spinner_alt" ];
# })
# catppuccin-plymouth
nixos-bgrt-plymouth
];
};
services.journald.extraConfig = '' services.journald.extraConfig = ''
SystemMaxUse=100M SystemMaxUse=100M
SystemMaxFileSize=50M SystemMaxFileSize=50M

143
osConfigs/global/ld.nix Normal file
View File

@ -0,0 +1,143 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# ld.nix :+: :+: :+: #
# +:+ +:+ +:+ #
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/12/30 20:37:07 by tomoron #+# #+# #
# Updated: 2026/02/21 13:54:43 by tomoron ### ########.fr #
# #
# **************************************************************************** #
{pkgs, ... }:
{
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
libxcomposite
libxtst
libxrandr
libxext
libx11
libxfixes
libGL
libva
pipewire
libxcb
libxdamage
libxshmfence
libxxf86vm
libelf
glib
gtk2
networkmanager
vulkan-loader
libgbm
libdrm
libxcrypt
coreutils
pciutils
zenity
libxinerama
libxcursor
libxrender
libxscrnsaver
libxi
libsm
libice
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
libudev0-shim
# needed to run unity
gtk3
icu
libnotify
gsettings-desktop-schemas
libxt
libxmu
libogg
libvorbis
SDL
SDL2_image
glew_1_10
libidn
tbb
# Other things from runtime
flac
freeglut
libjpeg
libpng
libpng12
libsamplerate
libmikmod
libtheora
libtiff
pixman
speex
SDL_image
SDL_ttf
SDL_mixer
SDL2_ttf
SDL2_mixer
libappindicator-gtk2
libdbusmenu-gtk2
libindicator-gtk2
libcaca
libcanberra
libgcrypt
libvpx
librsvg
libxft
libvdpau
pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsa-lib
expat
# for blender
libxkbcommon
libxcrypt-legacy # For natron
libGLU # For natron
fuse
e2fsprogs
webkitgtk_4_1
libsoup_3
];
}

View File

@ -0,0 +1,12 @@
{ ... }:
let
nix-alien-pkgs = import (
builtins.fetchTarball "https://github.com/thiagokokada/nix-alien/tarball/master"
) { };
in
{
environment.systemPackages = with nix-alien-pkgs; [
nix-alien
];
}

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/02/09 01:43:46 by tomoron #+# #+# # # Created: 2025/02/09 01:43:46 by tomoron #+# #+# #
# Updated: 2025/09/06 00:51:46 by tomoron ### ########.fr # # Updated: 2026/04/03 22:08:01 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -32,4 +32,6 @@
hardware.logitech.wireless.enable = true; hardware.logitech.wireless.enable = true;
hardware.logitech.wireless.enableGraphical = true; hardware.logitech.wireless.enableGraphical = true;
services.fstrim.enable = true; # trims all the ssds on the machine every week
} }

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:57:21 by tomoron #+# #+# # # Created: 2025/09/06 00:57:21 by tomoron #+# #+# #
# Updated: 2025/09/06 00:57:26 by tomoron ### ########.fr # # Updated: 2025/12/30 18:12:05 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -21,5 +21,7 @@
ntfs3g ntfs3g
cryptsetup cryptsetup
acpi acpi
nss
]; ];
} }

View File

@ -0,0 +1,8 @@
{lib, ...}:
{
sops = {
defaultSopsFile = ../../secrets/secrets.yaml;
age.keyFile = "/home/tom/.config/sops/age/keys.txt";
};
}

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/05 23:42:18 by tomoron #+# #+# # # Created: 2025/09/05 23:42:18 by tomoron #+# #+# #
# Updated: 2025/09/06 00:57:32 by tomoron ### ########.fr # # Updated: 2026/01/13 16:32:42 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:57:04 by tomoron #+# #+# # # Created: 2025/09/06 00:57:04 by tomoron #+# #+# #
# Updated: 2025/09/06 00:57:05 by tomoron ### ########.fr # # Updated: 2026/03/30 13:46:43 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -22,20 +22,30 @@
networking.hostName = "nixos-fixe"; networking.hostName = "nixos-fixe";
hardware.cpu.intel.updateMicrocode = true; hardware.cpu.intel.updateMicrocode = true;
mods.yubikey.pam.enable = true;
boot.kernelModules = [ "kvm-intel" "nvidia" ]; boot.kernelModules = [ "kvm-intel" "nvidia" ];
mods.displayManager.enable = true; mods.displayManager.enable = true;
hardware.nvidia = { mods.nvidia.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.beta; mods.gayming.enable = true;
open = true;
prime.nvidiaBusId = "PCI:1:0:0"; programs.noisetorch.enable = true;
prime.intelBusId = "PCI:0:2:0";
prime.sync.enable = true;
modesetting.enable = true; # hardware.nvidia = {
}; # open = true;
#
# prime.nvidiaBusId = "PCI:1:0:0";
# prime.intelBusId = "PCI:0:2:0";
# prime.sync.enable = true;
#
# modesetting.enable = true;
# };
services.openssh.enable = true; services.openssh.enable = true;
programs.droidcam.enable = true;
boot.kernelPackages = pkgs.linuxPackages;
boot.supportedFilesystems = [ "zfs" ];
networking.hostId = "98e475dd";
} }

View File

@ -6,16 +6,16 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:56:57 by tomoron #+# #+# # # Created: 2025/09/06 00:56:57 by tomoron #+# #+# #
# Updated: 2025/10/04 22:23:34 by tomoron ### ########.fr # # Updated: 2026/04/10 20:07:49 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
{ config, pkgs, ... }: { lib, config, pkgs, ... }:
{ {
boot.initrd.luks.yubikeySupport = true;
services.udev.packages = [ pkgs.yubikey-personalization ]; services.udev.packages = [ pkgs.yubikey-personalization ];
boot.initrd.kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ]; boot.initrd.kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ];
boot.initrd.luks.yubikeySupport = true;
boot.initrd.luks.devices.cryptroot = { boot.initrd.luks.devices.cryptroot = {
device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f"; device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f";
allowDiscards = true; allowDiscards = true;
@ -35,16 +35,19 @@
programs.droidcam.enable = true; programs.droidcam.enable = true;
mods.displayManager.enable = true; mods.displayManager.enable = true;
mods.virtualHost.enable = true;
mods.yubikey.pam.enable = true; mods.yubikey.pam.enable = true;
networking.firewall.enable = false; networking.firewall.enable = false;
networking.hostName = "patate-douce"; networking.hostName = "patate-douce";
networking.wireless.enable = true; # networking.wireless.enable = true;
networking.networkmanager.wifi.backend = "iwd";
networking.wireless.iwd.enable = true;
networking.wireless.allowAuxiliaryImperativeNetworks = true;
networking.networkmanager.enable = false; networking.networkmanager.enable = false;
specialisation.vfio_ready.configuration = { specialisation.vfio_ready.configuration = {
boot.kernel.sysctl."vm.nr_hugepages" = 5120;
mods.virtualHost.enable = true;
boot.extraModulePackages = with config.boot.kernelPackages; [ kvmfr ]; boot.extraModulePackages = with config.boot.kernelPackages; [ kvmfr ];
boot.kernelModules = [ "kvmfr" ]; boot.kernelModules = [ "kvmfr" ];
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
@ -57,8 +60,6 @@
"/dev/random", "/dev/urandom", "/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/ptmx", "/dev/kvm",
"/dev/rtc","/dev/hpet", "/dev/rtc","/dev/hpet",
"/dev/input/by-id/[some_mouse_device]-event-mouse",
"/dev/input/by-id/[some_keyboard_device]-event-kbd"
] ]
''; '';
services.udev.extraRules = '' services.udev.extraRules = ''
@ -67,10 +68,20 @@
environment.systemPackages = with pkgs; [ looking-glass-client ]; environment.systemPackages = with pkgs; [ looking-glass-client ];
}; };
services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
'';
networking.dhcpcd.enable = false; networking.dhcpcd.enable = false;
systemd.network.enable = true; systemd.network.enable = true;
networking.useNetworkd = true; networking.useNetworkd = true;
programs.noisetorch.enable = true;
services.postgresql.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
@ -80,32 +91,29 @@
mods.touchpad.enable = true; mods.touchpad.enable = true;
programs.gamescope.enable = true;
# programs.gamescope.capSysNice = true;
mods.powerSave = { mods.powerSave = {
enable = true; enable = true;
powahCommandAdditions = [ powahCommandAdditions = [
"supergfxctl -m Hybrid" "supergfxctl -m Hybrid"
"if asusctl profile -p | grep Balanced ; then asusctl profile -P Performance; fi" "if [ $# -gt 0 ] && [[ \"$1\" == \"moar\" ]] ; then asusctl profile set Performance; fi"
"if asusctl profile -p | grep Quiet ; then asusctl profile -P Balanced; fi"
]; ];
tagueuleCommandAdditions = [ tagueuleCommandAdditions = [
"echo \"can't safely turn off the GPU\"" "echo \"can't safely turn off the GPU\""
"asusctl profile -P Quiet" "asusctl profile set Quiet"
]; ];
cpuMaxFreq = 4465261; cpuMaxFreq = 4465261;
}; };
services.asusd = { services.asusd = {
enable = true; enable = true;
enableUserService = true; # enableUserService = true;
}; };
services.supergfxd.enable = true; services.supergfxd.enable = true;
services.supergfxd.settings = { services.supergfxd.settings = {
mode = "Integrated"; mode = lib.mkDefault "Integrated";
vfio_enable = true; vfio_enable = true;
vfio_save = true; vfio_save = true;
always_reboot = false; always_reboot = false;
@ -123,15 +131,30 @@
mods.nvidia.prime = true; mods.nvidia.prime = true;
services.usbmuxd.enable = true; #hangs when shutting down services.usbmuxd.enable = true; #sometimes hangs when shutting down
# boot.plymouth = {
# enable = true;
# theme = "ycontre-glow";
# themePackages = [
# inputs.plymouth-theme-ycontre-glow.defaultPackage.x86_64-linux
# ];
# };
services.flatpak.enable = true; services.avahi.enable = true;
services.pipewire = {
raopOpenFirewall = true;
extraConfig.pipewire = {
"10-airplay"."context.modules" = [
{ name = "libpipewire-module-raop-discover"; }
];
};
};
services.pipewire.wireplumber.extraConfig."10-bluez" = {
"monitor.bluez.properties" = {
"bluez5.enable-sbc-xq" = true;
"bluez5.enable-msbc" = true;
"bluez5.enable-hw-volume" = true;
};
};
hardware.bluetooth.settings = {
General = {
Enable = "Source,Sink,Media,Socket";
};
};
} }

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:57:09 by tomoron #+# #+# # # Created: 2025/09/06 00:57:09 by tomoron #+# #+# #
# Updated: 2025/09/06 01:26:26 by tomoron ### ########.fr # # Updated: 2026/04/09 13:21:07 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -20,6 +20,7 @@ let
8083 137 138 139 445 548 3702 5357 #prob some samba shit 8083 137 138 139 445 548 3702 5357 #prob some samba shit
24454 #minecraft voice chat 24454 #minecraft voice chat
25565 # minecraft server 25565 # minecraft server
9091 # transmission web interface
]; ];
portRanges = [ portRanges = [
{from = 47950; to = 49000;} #moonlight (wolf) {from = 47950; to = 49000;} #moonlight (wolf)
@ -31,16 +32,57 @@ in
config.boot.kernelPackages.gasket #driver for google coral edge tpu config.boot.kernelPackages.gasket #driver for google coral edge tpu
]; ];
services.openssh.enable = true; services.openssh.enable = true;
services.openssh.settings.PasswordAuthentication = false; services.openssh.settings.PasswordAuthentication = false;
services.openssh.ports = [ 1880 ]; services.openssh.ports = [ 1880 ];
sops.secrets."cloudflared/token" = {};
sops.secrets."zfs/p_user" = {};
sops.secrets."zfs/p_token" = {};
systemd.services.cloudflared = {
after = [
"network.target"
"network-online.target"
];
wants = [
"network.target"
"network-online.target"
];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''${pkgs.bash}/bin/bash -c '${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate run --token "$(cat ${config.sops.secrets."cloudflared/token".path})"' '';
Restart = "on-failure";
};
};
boot.extraModprobeConfig = '' boot.extraModprobeConfig = ''
options amdgpu virtual_display=1 options amdgpu virtual_display=1
''; #create dummy display to be able to start x11 # create dummy display to be able to start x11
'';
boot.supportedFilesystems = [ "zfs" ]; boot.supportedFilesystems = [ "zfs" ];
services.zfs = {
autoScrub.enable = true;
zed.settings = {
ZED_NOTIFY_VERBOSE=1;
ZED_PUSHOVER_TOKEN="$(cat ${config.sops.secrets."zfs/p_token".path})";
ZED_PUSHOVER_USER="$(cat ${config.sops.secrets."zfs/p_user".path})";
};
};
services.sanoid.enable = true;
services.sanoid.datasets."raid_vol" = {
daily = 31;
hourly = 24;
monthly = 12;
autosnap = true;
autoprune = true;
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
zfs zfs
screen #can be user (and global) screen #can be user (and global)
@ -68,6 +110,10 @@ in
services.fail2ban.enable = true; services.fail2ban.enable = true;
services.fail2ban.bantime = "5h"; services.fail2ban.bantime = "5h";
mods.nvidia.enable = true;
mods.nvidia.beta = true;
mods.nvidia.containerToolkit = true;
mods.docker = { mods.docker = {
enable = true; enable = true;
boot = true; boot = true;

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/05 23:47:16 by tomoron #+# #+# # # Created: 2025/09/05 23:47:16 by tomoron #+# #+# #
# Updated: 2025/09/06 00:56:38 by tomoron ### ########.fr # # Updated: 2025/11/17 14:32:13 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -24,7 +24,7 @@
services.displayManager.ly.enable = true; services.displayManager.ly.enable = true;
services.displayManager.ly.settings = services.displayManager.ly.settings =
{ {
animation = "doom"; animation = "gameoflife";
min_refresh_delta = 50; min_refresh_delta = 50;
bigclock = "en"; bigclock = "en";
sleep_cmd = "systemctl sleep"; sleep_cmd = "systemctl sleep";

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/05 23:47:09 by tomoron #+# #+# # # Created: 2025/09/05 23:47:09 by tomoron #+# #+# #
# Updated: 2025/09/05 23:54:57 by tomoron ### ########.fr # # Updated: 2025/10/27 00:50:29 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -22,5 +22,6 @@
config = lib.mkIf config.mods.gayming.enable { config = lib.mkIf config.mods.gayming.enable {
programs.steam.enable = true; programs.steam.enable = true;
programs.steam.protontricks.enable = true; programs.steam.protontricks.enable = true;
programs.gamescope.enable = true;
}; };
} }

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/09/05 23:47:19 by tomoron #+# #+# # # Created: 2025/09/05 23:47:19 by tomoron #+# #+# #
# Updated: 2025/09/06 01:12:34 by tomoron ### ########.fr # # Updated: 2025/12/23 18:42:01 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -28,7 +28,7 @@
open = lib.mkOption { open = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = true; default = true;
description = "use beta version of the drivers"; description = "use open version of the drivers (on newer gpu)";
}; };
containerToolkit = lib.mkOption { containerToolkit = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
@ -38,7 +38,7 @@
prime = lib.mkOption { prime = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = false; default = false;
description = "enable nvidia prime offload (saves battery)"; description = "enable nvidia prime offload (saves battery). prime ?";
}; };
}; };

View File

@ -1,6 +1,11 @@
#ENC[AES256_GCM,data:1NcFm2XqZzmSSlr8wH4aXHDBhf+lOaZ/gUeK2T/U/hIBbqtfKtw=,iv:yS5iogRp6e3We/7wZnGy0XJzqLVfRVKlDhUs+tamcJ0=,tag:+z/qqF9n6/hQfv9aWXkCDQ==,type:comment] #ENC[AES256_GCM,data:1NcFm2XqZzmSSlr8wH4aXHDBhf+lOaZ/gUeK2T/U/hIBbqtfKtw=,iv:yS5iogRp6e3We/7wZnGy0XJzqLVfRVKlDhUs+tamcJ0=,tag:+z/qqF9n6/hQfv9aWXkCDQ==,type:comment]
nextcloud_fuse: nextcloud_fuse:
password: ENC[AES256_GCM,data:Rlyc9wO3rXJ97AAMzM+vJclEJ+eaSPtHkitqRL0=,iv:yuS2Tyo2HZGVb9tbWmmgOEwkyzLhlvq8iZ2YjGD0u9E=,tag:pf8n4pTvseh1pd12w8w4tw==,type:str] password: ENC[AES256_GCM,data:Rlyc9wO3rXJ97AAMzM+vJclEJ+eaSPtHkitqRL0=,iv:yuS2Tyo2HZGVb9tbWmmgOEwkyzLhlvq8iZ2YjGD0u9E=,tag:pf8n4pTvseh1pd12w8w4tw==,type:str]
cloudflared:
token: ENC[AES256_GCM,data:LS1VIwbbVsJxZ90p+kK4xJhzrBRJ51XL2j8mGLDVj5JjYJKXKBDIXtlb0x8A9WDIVyBuLBkE9pfSfQXtvfvZdUeyXswVJFUNW0mX3yC/WaeNQdPYy7UgyGjorqk31aNJ6b9XqtdfV0++qPvXQDvwn44UY0juuiIJ5KcLZEskRcqVTilG5WYi/nInhGbSqtzniRNvrbsynIq0CVQDhi3haCHNpCJMQUIyXM/g6Xsc9b++GYlHjgrtHQ==,iv:DbvJfbMblgr6+dYBJqDSzECKK90Nkq8Eci5dC8fMIXQ=,tag:bjAs8p5dAkh2Adon0JDNqg==,type:str]
zfs:
p_user: ENC[AES256_GCM,data:5RZ14HcDfSrOGm6VFNQGSlH4bcJ+DtMk4NkrXXTo,iv:iTt//ip7ZK5tuQky1DPmzgexV+chhHG9rHQNMYyJZJs=,tag:cmwA0KHsqBG7f5WI7Fwclg==,type:str]
p_token: ENC[AES256_GCM,data:VFYSHIqeKFbPaCqO08UrgqtsmCULcXlGjGco03BT,iv:aEaOH+jSp6A2Z3V+vwAYuhS26oTZ/CA+/EKg+/ZktDQ=,tag:UH1LG3aS/plWnaLdpcUcuA==,type:str]
sops: sops:
age: age:
- recipient: age1sjzkhwr8ycdsmuj8xg8y4v2hcpuq9vethnhytxtwzeury692dsxqf80fwv - recipient: age1sjzkhwr8ycdsmuj8xg8y4v2hcpuq9vethnhytxtwzeury692dsxqf80fwv
@ -12,7 +17,7 @@ sops:
clZaazZQdW5wYUhUNmM0QW91K0NLOTAKB6z7cKg54QmJo0U03u6RQkSCfJOAdeJa clZaazZQdW5wYUhUNmM0QW91K0NLOTAKB6z7cKg54QmJo0U03u6RQkSCfJOAdeJa
DiyPYjm02BNe8YPFbBFRpyT7G++j3h0yG+/Nr2zcQFyMMEpMv5QJvg== DiyPYjm02BNe8YPFbBFRpyT7G++j3h0yG+/Nr2zcQFyMMEpMv5QJvg==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2025-09-05T17:58:05Z" lastmodified: "2026-04-09T09:44:50Z"
mac: ENC[AES256_GCM,data:96G7VqaG8A46tQ1L7I2asiYtNZF7K3Wf+SzbwPrNV8zQio2jInawtD4WSzHmLs4Nv7M1TBHug/ho8mfYq6auXgpathiSzvj0Tzs/IEKXiTYa86tM3szwAepavMYWOl6OYJ7S39ku6BOMo3qC2BK/gpT5iy4c84ashn2wFd1n41A=,iv:6TShIsqnhCf/3uoAaz/R+Cwr2HrorROOXodXluTKM8M=,tag:BA9rQ73scKgetW3orV0HdQ==,type:str] mac: ENC[AES256_GCM,data:1TWoO9xeAyfT5kheTDLBqqeqpSpc5begsXN/FIjwK01xJJrgFfQg+93OZcH989z6WGumvjH+JuY98y9xDfur6mc2sopbLX8/Qbnfl4D2Aq1ya42b5/2cHlFhGI8bBOiXr6qA2sixQ/E1MIklTMxN+Z1fKbT5Mp7cfoPlG8YXhbI=,iv:DB1opS2DEr/WM1yK5SJf8NtoApmzJq5mgMoMlOoLli4=,tag:ZhiLFFCZF+fdfai0djwjYw==,type:str]
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.10.2 version: 3.11.0