Compare commits

...

8 Commits

Author SHA1 Message Date
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
11 changed files with 137 additions and 116 deletions

View File

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

42
flake.lock generated
View File

@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1768575137, "lastModified": 1771587924,
"narHash": "sha256-e0SsKnkSnq+UwZNS9ZyPJjTjabzq9TRc1hqeDnvOF1Q=", "narHash": "sha256-eVYOGmF8nQBhudJyU6lHdgJI87kvGz8JyCq5/Vi9Mjk=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "48e67b4ad22072f1ae30b0ed8e1cb020cf06c611", "rev": "b0c65edbf31c2ad3d84438d82c2310f2c28373f3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -26,11 +26,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1768622624, "lastModified": 1771669320,
"narHash": "sha256-Em6PP667PeXbEjidbV2LnNwmUYohbrSFvVPLYLUDHms=", "narHash": "sha256-LqmgIBpjpMQKkHKCSGJkluMVFFoBdkUhJnu+Cq+jgGc=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "8061c6d9199dc6cc0727d4241959eea28f2fa0a6", "rev": "496abb3aef244b896bf7cdd65e071cf624f16338",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -47,11 +47,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768598210, "lastModified": 1771647911,
"narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=", "narHash": "sha256-18liNHHwOmcaKCpOptE3wLW97fm5v7RTLiZBecX7km0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c47b2cc64a629f8e075de52e4742de688f930dc6", "rev": "436b27742c996b75e2baf8e835e3b3eae0c9fbd4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -62,11 +62,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1768584846, "lastModified": 1771423359,
"narHash": "sha256-IRPmIOV2tPwxbhP/I9M5AmwhTC0lMPtoPStC+8T6xl0=", "narHash": "sha256-yRKJ7gpVmXbX2ZcA8nFi6CMPkJXZGjie2unsiMzj3Ig=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "cce68f4a54fa4e3d633358364477f5cc1d782440", "rev": "740a22363033e9f1bb6270fbfb5a9574067af15b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -78,11 +78,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1768305791, "lastModified": 1771369470,
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=", "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e", "rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -94,11 +94,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1768564909, "lastModified": 1771369470,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "rev": "0182a361324364ae3f436a63005877674cf45efb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -125,11 +125,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768481291, "lastModified": 1771524872,
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=", "narHash": "sha256-eksVUcUsfS9mQx4D9DrYu88u9w70bAf+n6KmTDuIGEE=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101", "rev": "e85540ffe97322dc1fea14dd11cdc2f59d540ac7",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -90,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

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

View File

@ -44,6 +44,7 @@
blender blender
wireshark wireshark
localsend localsend
impala
]; ];
} }

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@free.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

@ -2,35 +2,79 @@
{ {
options.mods.vim.enable = lib.mkOption { options.mods.vim.enable = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
default = true; default = true;
description = "install and configure vim"; description = "install and configure vim";
}; };
config = lib.mkIf config.mods.vim.enable { config = lib.mkIf config.mods.vim.enable {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
viAlias = true; viAlias = true;
vimAlias = true; vimAlias = true;
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
clang-tools clang-tools
nixd nixd
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.extraConfig = '' # programs.neovim.extraLuaConfig = ''
# vim.lsp.config('pylsp', {})
# '';
programs.neovim.initLua= ''
local coq = require "coq"
vim.lsp.config('clangd', coq.lsp_ensure_capabilities({}))
vim.lsp.enable('clangd')
vim.lsp.config('nixd', coq.lsp_ensure_capabilities({}))
vim.lsp.enable('nixd')
vim.lsp.config('glsl_analyzer', coq.lsp_ensure_capabilities({}))
vim.lsp.enable('glsl_analyzer')
vim.lsp.config('pylsp', coq.lsp_ensure_capabilities({
settings = {
pylsp = {
plugins = {
pycodestyle = {
ignore = {'E501'},
}
}
}
}
}))
vim.lsp.enable('pylsp')
vim.diagnostic.config({
virtual_lines = {
current_line = true
}
})
'';
programs.neovim.extraConfig = ''
set number set number
set ai set ai
autocmd BufWinLeave *.* mkview autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent! loadview autocmd BufWinEnter *.* silent! loadview
autocmd VimEnter * COQnow --shut-up
set tabstop=4 set tabstop=4
set scrolloff=10 set scrolloff=10
set smartindent set smartindent
set shiftwidth=4 set shiftwidth=4
map <silent> <C-N> :bnext<CR> map <silent> <C-N> :bnext<CR>
map <silent> <C-P> :bprevious<CR> map <silent> <C-P> :bprevious<CR>
nmap <silent> <c-k> :wincmd k<CR> nmap <silent> <c-k> :wincmd k<CR>
@ -57,41 +101,42 @@
Plug 'bluz71/vim-nightfly-colors' Plug 'bluz71/vim-nightfly-colors'
Plug 'catppuccin/nvim', { 'as': 'catppuccin' } Plug 'catppuccin/nvim', { 'as': 'catppuccin' }
Plug 'tikhomirov/vim-glsl' Plug 'tikhomirov/vim-glsl'
Plug 'lambdalisue/nerdfont.vim' Plug 'lambdalisue/nerdfont.vim'
Plug 'lambdalisue/glyph-palette.vim' Plug 'lambdalisue/glyph-palette.vim'
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 'ms-jpq/coq_nvim', { 'branch': 'coq' }
Plug 'ms-jpq/coq.artifacts', { 'branch': 'artifacts' }
Plug 'ms-jpq/coq.thirdparty', { 'branch': '3p' }
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>
nnoremap <leader>fg <cmd>Telescope live_grep<cr> nnoremap <leader>fg <cmd>Telescope live_grep<cr>
nnoremap <leader>fb <cmd>Telescope buffers<cr> nnoremap <leader>fb <cmd>Telescope buffers<cr>
nnoremap <leader>fh <cmd>Telescope help_tags<cr> nnoremap <leader>fh <cmd>Telescope help_tags<cr>
nnoremap <leader>fi <cmd>Fern %:h<cr> nnoremap <leader>fi <cmd>Fern %:h<cr>
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

@ -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/11/22 22:07:00 by tomoron ### ########.fr # # Updated: 2026/02/06 23:43:40 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -34,7 +34,6 @@
unison unison
brightnessctl brightnessctl
playerctl playerctl
python3
vlc vlc
nix-index nix-index
yubikey-manager yubikey-manager

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ # # By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/12/30 20:37:07 by tomoron #+# #+# # # Created: 2025/12/30 20:37:07 by tomoron #+# #+# #
# Updated: 2025/12/31 01:13:53 by tomoron ### ########.fr # # Updated: 2026/02/21 13:54:43 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -15,7 +15,6 @@
{ {
programs.nix-ld.enable = true; programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [ programs.nix-ld.libraries = with pkgs; [
# List by default
zlib zlib
zstd zstd
stdenv.cc.cc stdenv.cc.cc
@ -31,28 +30,24 @@
xz xz
systemd systemd
# My own additions libxcomposite
xorg.libXcomposite libxtst
xorg.libXtst libxrandr
xorg.libXrandr libxext
xorg.libXext libx11
xorg.libX11 libxfixes
xorg.libXfixes
libGL libGL
libva libva
pipewire pipewire
xorg.libxcb libxcb
xorg.libXdamage libxdamage
xorg.libxshmfence libxshmfence
xorg.libXxf86vm libxxf86vm
libelf libelf
# Required
glib glib
gtk2 gtk2
# Inspired by steam
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
networkmanager networkmanager
vulkan-loader vulkan-loader
libgbm libgbm
@ -61,16 +56,14 @@
coreutils coreutils
pciutils pciutils
zenity zenity
# glibc_multi.bin # Seems to cause issue in ARM
# # Without these it silently fails libxinerama
xorg.libXinerama libxcursor
xorg.libXcursor libxrender
xorg.libXrender libxscrnsaver
xorg.libXScrnSaver libxi
xorg.libXi libsm
xorg.libSM libice
xorg.libICE
gnome2.GConf gnome2.GConf
nspr nspr
nss nss
@ -80,7 +73,6 @@
libusb1 libusb1
dbus-glib dbus-glib
ffmpeg ffmpeg
# Only libraries are needed from those two
libudev0-shim libudev0-shim
# needed to run unity # needed to run unity
@ -88,21 +80,14 @@
icu icu
libnotify libnotify
gsettings-desktop-schemas gsettings-desktop-schemas
# https://github.com/NixOS/nixpkgs/issues/72282
# https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16
# log in /home/leo/.config/unity3d/Editor.log
# it will segfault when opening files if you dont do:
# export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
# Verified games requirements libxt
xorg.libXt libxmu
xorg.libXmu
libogg libogg
libvorbis libvorbis
SDL SDL
SDL2_image SDL2_image
glew110 glew_1_10
libidn libidn
tbb tbb
@ -131,10 +116,9 @@
libgcrypt libgcrypt
libvpx libvpx
librsvg librsvg
xorg.libXft libxft
libvdpau libvdpau
# ...
# Some more libraries that I needed to run programs
pango pango
cairo cairo
atk atk
@ -150,9 +134,10 @@
libxcrypt-legacy # For natron libxcrypt-legacy # For natron
libGLU # For natron libGLU # For natron
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
fuse fuse
e2fsprogs e2fsprogs
webkitgtk_4_1
libsoup_3
]; ];
} }

View File

@ -6,7 +6,7 @@
# 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: 2026/01/13 16:32:20 by tomoron ### ########.fr # # Updated: 2026/02/03 14:40:35 by tomoron ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -40,11 +40,13 @@
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;
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 +59,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 = ''
@ -87,8 +87,6 @@
mods.touchpad.enable = true; mods.touchpad.enable = true;
# programs.gamescope.capSysNice = true;
mods.powerSave = { mods.powerSave = {
enable = true; enable = true;
powahCommandAdditions = [ powahCommandAdditions = [
@ -130,7 +128,7 @@
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 = { # boot.plymouth = {
# enable = true; # enable = true;
@ -143,13 +141,5 @@
services.flatpak.enable = true; services.flatpak.enable = true;
services.dnsmasq.enable = true; services.k3s.enable = true;
services.dnsmasq.settings = {
"dhcp-range" = ["192.168.1.150,192.168.1.250"];
"dhcp-option" = [
"3,192.168.1.254"
"6,1.1.1.1,8.8.8.8,8.8.4.4"
];
"interface" = "enp4s0f4u1";
};
} }