Compare commits

...

12 Commits

Author SHA1 Message Date
87fa4814f9 Auto update 2026-07-20 04:01:15 +00:00
4c4c5e54a1 setup hyprsunset
All checks were successful
update the nix flake lock automatically every week / update (push) Successful in 20s
2026-07-16 18:41:50 +02:00
a2db2b1922 fix vim indent 2026-07-15 20:39:30 +02:00
cd26a6891e Auto update 2026-07-13 04:01:05 +00:00
ec8b9eb1b8 vim: add lsp_signature, set exrc remove pylsp-mypy package (broken)
All checks were successful
update the nix flake lock automatically every week / update (push) Successful in 30s
2026-07-09 13:50:14 +02:00
69915d089d remove idle on desktop 2026-07-07 17:26:36 +02:00
5b70399dba remove yubi key support, fix fido2 systemd boot 2026-07-06 13:29:02 +02:00
38ce579039 Auto update 2026-07-06 04:00:50 +00:00
cacc3c20a4 Auto update 2026-06-29 04:00:51 +00:00
390c6e3a3d desktop import stor on boot
All checks were successful
update the nix flake lock automatically every week / update (push) Successful in 32s
2026-06-26 14:17:27 +02:00
b561fe445c flake update 2026-06-26 14:16:45 +02:00
d5a4f5bdd1 add syncoid config 2026-06-26 14:11:04 +02:00
10 changed files with 135 additions and 74 deletions

52
flake.lock generated
View File

@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1781857425,
"narHash": "sha256-YhFPbCmdGis/4hwwt/ls4IZ8FR159EULbxWvv6U15+I=",
"lastModified": 1784366307,
"narHash": "sha256-VKatYOZwLQ+MuNkWH6/gZYxrNeSK1Mqb7mC0H1WSu+M=",
"owner": "catppuccin",
"repo": "nix",
"rev": "8b943da8a0f8628f3446d2517ea39babcfaf27f3",
"rev": "673f730d0fc8db3468c51575f1d3d777cc55e51f",
"type": "github"
},
"original": {
@ -28,11 +28,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1781713404,
"narHash": "sha256-sWYN0mtke4pMa/v19CXTYIhmZ8zIeYfcmzkSvtgBrhI=",
"lastModified": 1782248098,
"narHash": "sha256-qIvObIIVv+AGH2cKeqfbAfzAe02xR3gGWa26aQhqW5Q=",
"ref": "refs/heads/master",
"rev": "64b2f04f8f1d3f826a5fe2c456dab41f5a13b3dc",
"revCount": 41,
"rev": "c4f3c129f108bb0b8b845b09ada7cda2ce0428c9",
"revCount": 42,
"type": "git",
"url": "https://git.tmoron.fr/tom/dockermcmgr"
},
@ -49,11 +49,11 @@
},
"locked": {
"dir": "pkgs/firefox-addons",
"lastModified": 1782014564,
"narHash": "sha256-F/royQHyJAyKWKrV8AaG4Yf1yjzxa+PFk5xvTdvBrzk=",
"lastModified": 1784402804,
"narHash": "sha256-NKjHErNuyO2x+YBUNOJy/8uKXfuMX60SLFuvZiMYdA8=",
"owner": "rycee",
"repo": "nur-expressions",
"rev": "d6668e34bbce788459883a1097bf0ee170f49c61",
"rev": "775bd8e526823ab58efe5d1fc269f2a60c3de2c1",
"type": "gitlab"
},
"original": {
@ -86,11 +86,11 @@
]
},
"locked": {
"lastModified": 1782100728,
"narHash": "sha256-YTyPsWf6ieaU6j/gJ+i7ERXKC7DEJC8BxUcAubx2SVQ=",
"lastModified": 1784489491,
"narHash": "sha256-j9maqjx1T8+ljAVntAdSI5hSGCm77QNZz64JF1rJNu0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f3dc0b85833c6c9946ad1349ab810d07e0bdf761",
"rev": "3139deb8cafbe73b39b24451255b2fdd3426077e",
"type": "github"
},
"original": {
@ -105,11 +105,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1781622756,
"narHash": "sha256-JrPh4M6S7aPsEE9tOENuZrxC6o2szSLlK+t4+nLke9s=",
"lastModified": 1784310968,
"narHash": "sha256-rkSPTePrKqs4dg+i7ZFCq93+HrClac6oSwXX927SVjA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "08018c72174a4df5657f8d94178ac69fb9c243e5",
"rev": "779c32a00155994c86cde8213a8dd4df139d4355",
"type": "github"
},
"original": {
@ -121,11 +121,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1781607440,
"narHash": "sha256-eM+l4TVD26SNoEjcxRcpispqZi5Qrqj/G0ZY4LfqwfM=",
"rev": "3e41b24abd260e8f71dbe2f5737d24122f972158",
"lastModified": 1783279667,
"narHash": "sha256-2l8yOB5aYd+05Q9V9Y1YhgbSa1j1o5QX+nvYs5FL80A=",
"rev": "f205b5574fd0cb7da5b702a2da51507b7f4fdd1b",
"type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1017567.3e41b24abd26/nixexprs.tar.xz"
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1028110.f205b5574fd0/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
@ -163,11 +163,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1782099349,
"narHash": "sha256-SPuZdcuv4sMd5QVCxLDEcwc8SXjsU7ZjaMmiBSr4HoU=",
"lastModified": 1784515365,
"narHash": "sha256-Qp8SfqvCYHcZewQ4LgD0263yQuaputMceSquLFeza6I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f56bad1bdd74e486c5b1223dc5e1066277efd983",
"rev": "141f212d3652c61515ba4e9478c8093fca278bac",
"type": "github"
},
"original": {
@ -195,11 +195,11 @@
]
},
"locked": {
"lastModified": 1781943681,
"narHash": "sha256-NFHmA7H47adqiyp+0iEOyZOQhmigDqA/NBAlf4imB6U=",
"lastModified": 1783174389,
"narHash": "sha256-aCWC8ngycU7OdJrU2+Je3qf+1a2ykuBvpPhZT/9tXMc=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "420f8d2e9882911f65cfac15cc706f639ba96cca",
"rev": "f1406619a3884cd5c47992a70b8b35c9c0fcb4c9",
"type": "github"
},
"original": {

View File

@ -23,6 +23,7 @@
qt.style.name = "kvantum";
home.pointerCursor = {
enable = true;
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2026/06/14 19:22:40 by tomoron #+# #+# #
# Updated: 2026/06/14 19:32:07 by tomoron ### ########.fr #
# Updated: 2026/07/09 14:59:29 by tomoron ### ########.fr #
# #
# **************************************************************************** #
@ -31,26 +31,27 @@
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
end,
},
experimental = { ghost_text = true },
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(),
},
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.
}),
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({
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'vsnip' },
}, {
@ -58,6 +59,7 @@
})
})
cmp.setup.cmdline({ '/', '?' }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
@ -125,17 +127,14 @@
vim.keymap.set("n", "<leader>9m", function()
require("99.extensions.telescope").select_model()
end)
require "lsp_signature".setup(cfg)
'';
programs.neovim.extraConfig = ''
set number
set ai
autocmd BufWinLeave *.* mkview
autocmd BufWinEnter *.* silent! loadview
set tabstop=4
set scrolloff=10
set smartindent
set shiftwidth=4
map <silent> <C-N> :bnext<CR>
map <silent> <C-P> :bprevious<CR>
nmap <silent> <c-k> :wincmd k<CR>
@ -147,6 +146,14 @@
set wildmenu
set wildignore+=**/node_modules/**
set scrolloff=10
set ai
set smartindent
set tabstop=4
set shiftwidth=4
filetype plugin indent on
let mapleader=";"
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
@ -174,6 +181,7 @@
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/nvim-cmp'
Plug 'ray-x/lsp_signature.nvim'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
@ -182,6 +190,7 @@
colorscheme catppuccin-mocha
set signcolumn=auto
set exrc
nnoremap <leader>ff <cmd>Telescope find_files<cr>
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
@ -195,6 +204,13 @@
'';
home.file = {
#set nix indent
".config/nvim/after/ftplugin/nix.lua".text= ''
vim.bo.shiftwidth = 2
vim.bo.tabstop = 2
vim.bo.expandtab = true
'';
#install plug.vim
".local/share/nvim/site/autoload/plug.vim".source = "${fetchGit {
url = "https://github.com/junegunn/vim-plug";
@ -208,6 +224,5 @@
rev = "e6e6b191871545e0d43f1aad817070bc806b8fa7";
ref = "master";
}}/plugin/stdheader.vim";
};
}

View File

@ -9,7 +9,7 @@
opencode
(pkgs.python3.withPackages (ps: with ps; [
python-lsp-server
pylsp-mypy
# pylsp-mypy #tests broken
python-lsp-ruff
pycodestyle
]))

View File

@ -0,0 +1,31 @@
{ ... }:
{
services.hyprsunset.enable = true;
services.hyprsunset.settings = {
profile = [
{
time = "9:00";
identity = true;
gamma = 1;
}
{
time = "21:30";
temperature = 5000;
}
{
time = "22:30";
temperature = 4000;
}
{
time = "23:30";
temperature = 3000;
}
{
time = "00:30";
temperature = 2000;
}
];
};
}

View File

@ -25,4 +25,5 @@
cursor.no_hardware_cursors = true;
misc.vrr = 1;
};
services.hypridle.enable = lib.mkForce false;
}

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/09/05 23:42:18 by tomoron #+# #+# #
# Updated: 2026/06/22 15:42:08 by tomoron ### ########.fr #
# Updated: 2026/07/07 17:49:04 by tomoron ### ########.fr #
# #
# **************************************************************************** #
@ -18,6 +18,8 @@
"libvirtd" # can use libvirtd
"dialout" # can use serial devices
"wireshark" # can use wireshask
"plugdev" #some esp things
];
};
users.groups.plugdev = {};
}

View File

@ -6,7 +6,7 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:57:04 by tomoron #+# #+# #
# Updated: 2026/06/24 18:42:19 by tomoron ### ########.fr #
# Updated: 2026/06/26 14:05:26 by tomoron ### ########.fr #
# #
# **************************************************************************** #
@ -30,6 +30,9 @@
networking.hostId = "98e475dd";
mods.zfs.enable = true;
boot.zfs.forceImportRoot = false;
boot.zfs.extraPools = [ "stor" ];
mods.docker = {
enable = true;

View File

@ -6,33 +6,17 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:56:57 by tomoron #+# #+# #
# Updated: 2026/06/15 02:11:29 by tomoron ### ########.fr #
# Updated: 2026/07/04 01:59:26 by tomoron ### ########.fr #
# #
# **************************************************************************** #
{ lib, config, pkgs, ... }:
{
services.udev.packages = [ pkgs.yubikey-personalization ];
boot.initrd.kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ];
boot.initrd.systemd.enable = true;
boot.initrd.luks.yubikeySupport = false;
boot.initrd.luks.devices.cryptroot = {
device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f";
allowDiscards = true;
#set up initial : https://wiki.nixos.org/wiki/Yubikey_based_Full_Disk_Encryption_(FDE)_on_NixOS
#yubikey = { #bad implementation upstream. unlock with be with fallback password until it's better
# twoFactor = false;
# keyLength = 64;
# saltLength = 32;
# storage = {
# device = "/dev/disk/by-uuid/BA5C-F216";
# path = "/default";
# };
#};
};
boot.blacklistedKernelModules = [ "nvidia" "nvidia_drm" "nvidia_uvm" ]; #speeds up startup, loaded automatically when gpu is started

View File

@ -6,11 +6,11 @@
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/09/06 00:57:09 by tomoron #+# #+# #
# Updated: 2026/06/15 12:34:42 by tomoron ### ########.fr #
# Updated: 2026/06/24 20:34:47 by tomoron ### ########.fr #
# #
# **************************************************************************** #
{ config, pkgs, inputs, ... }:
{ lib, config, pkgs, inputs, ... }:
let
ports = [
@ -110,6 +110,31 @@ in
autosnap = true;
autoprune = true;
};
services.sanoid.datasets."raid_vol/crit" = {
daily = 31;
hourly = 24;
monthly = 12;
autosnap = true;
autoprune = true;
};
users.users.backup.isNormalUser = true;
services.syncoid.enable = true;
services.syncoid.user = "backup";
services.syncoid.group = "users";
services.syncoid.service.serviceConfig = {
BindReadOnlyPaths = [ "/home/backup/.ssh" ];
ProtectHome = lib.mkForce false;
};
services.syncoid.sshKey = "/home/backup/.ssh/id_ed25519";
services.syncoid.commands."raid_vol-critical" = {
source = "raid_vol/crit";
target = "sync@192.168.1.41:stor";
};
networking = {
hostName = "server";
@ -117,8 +142,7 @@ in
interfaces.eth0.ipv4.addresses = [ {
address = "192.168.1.24";
prefixLength = 24;
}
];
} ];
defaultGateway.address = "192.168.1.254";
defaultGateway.interface = "eth0";
nameservers = ["8.8.8.8" "8.8.4.4" "1.1.1.1"];