Compare commits

...

6 Commits

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

View File

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

View File

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

View File

@ -21,7 +21,7 @@
help.autocorrect = 1; help.autocorrect = 1;
user.signingkey = "251B4BD73683A8DF13D760A868BFAFE31DF313AD"; user.signingkey = "251B4BD73683A8DF13D760A868BFAFE31DF313AD";
commit.gpgsign = true; commit.gpgsign = true;
aliase = { 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

@ -2,35 +2,71 @@
{ {
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.extraLuaConfig = ''
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({
cmd = {"pylsp", "-vvv", "--log-file", "/tmp/lsp.log"}
}))
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 +93,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/17 11:55:17 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
@ -47,5 +46,6 @@
sops sops
libreoffice libreoffice
doxygen doxygen
qimgv
]; ];
} }

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

@ -0,0 +1,160 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# ld.nix :+: :+: :+: #
# +:+ +:+ +:+ #
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/12/30 20:37:07 by tomoron #+# #+# #
# Updated: 2026/02/05 12:47:23 by tomoron ### ########.fr #
# #
# **************************************************************************** #
{pkgs, ... }:
{
programs.nix-ld.enable = true;
programs.nix-ld.libraries = with pkgs; [
# List by default
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
# My own additions
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
pipewire
xorg.libxcb
xorg.libXdamage
xorg.libxshmfence
xorg.libXxf86vm
libelf
# Required
glib
gtk2
# Inspired by steam
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
networkmanager
vulkan-loader
libgbm
libdrm
libxcrypt
coreutils
pciutils
zenity
# glibc_multi.bin # Seems to cause issue in ARM
# # Without these it silently fails
xorg.libXinerama
xorg.libXcursor
xorg.libXrender
xorg.libXScrnSaver
xorg.libXi
xorg.libSM
xorg.libICE
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
# Only libraries are needed from those two
libudev0-shim
# needed to run unity
gtk3
icu
libnotify
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
xorg.libXt
xorg.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
xorg.libXft
libvdpau
# ...
# Some more libraries that I needed to run programs
pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsa-lib
expat
# for blender
libxkbcommon
libxcrypt-legacy # For natron
libGLU # For natron
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
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/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

@ -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:56:57 by tomoron #+# #+# # # Created: 2025/09/06 00:56:57 by tomoron #+# #+# #
# Updated: 2025/11/21 10:40:19 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 = ''
@ -66,6 +66,11 @@
''; '';
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;
@ -82,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 = [
@ -125,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;
@ -138,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";
};
} }

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/12/16 20:00:04 by tomoron ### ########.fr # # Updated: 2026/01/27 18:56:23 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)