Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9676d39936 |
16 changed files with 238 additions and 300 deletions
161
flake.lock
generated
161
flake.lock
generated
|
|
@ -1,38 +1,16 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"blueprint": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"llm-agents",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1763308703,
|
|
||||||
"narHash": "sha256-O9Y+Wer8wOh+N+4kcCK5p/VLrXyX+ktk0/s3HdZvJzk=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "blueprint",
|
|
||||||
"rev": "5a9bba070f801d63e2af3c9ef00b86b212429f4f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "blueprint",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"emacs-overlay": {
|
"emacs-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766423654,
|
"lastModified": 1764952076,
|
||||||
"narHash": "sha256-ko2vQ6kf8dXLMTq2bnNazbPAHvdsf+BrWQfr4acRNDo=",
|
"narHash": "sha256-Tj+87I0ogmtjC/jEpTiO1wwu8M2eaY+7xDXNKz135Xk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "d06edf59a5f5c1b15d607ec2e514cf2f8a71a591",
|
"rev": "d1e8a6a2036f6c4283892cbc9966c13a34d37a89",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -48,11 +26,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766387499,
|
"lastModified": 1764952935,
|
||||||
"narHash": "sha256-AjK3/UKDzeXFeYNLVBaJ3+HLE9he1g5UrlNd4/BM3eA=",
|
"narHash": "sha256-cRPB2zESVMjIGxJ49qj4t4qnT0ae44E+fS/mkfOS/BY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "527ad07e6625302b648ed3b28c34b62a79bd103e",
|
"rev": "519828bf1c97f8bc2ed2d3b79214067047d3c67d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -62,33 +40,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"llm-agents": {
|
|
||||||
"inputs": {
|
|
||||||
"blueprint": "blueprint",
|
|
||||||
"nixpkgs": "nixpkgs_2",
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766441132,
|
|
||||||
"narHash": "sha256-bd6d2lQiNaIEIjRZo7yFthyYJ8uugnRJfWn8SuOy8i4=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "llm-agents.nix",
|
|
||||||
"rev": "950a181bbb93b8de506b1db15fec242d273d2c1d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "llm-agents.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766309749,
|
"lastModified": 1764667669,
|
||||||
"narHash": "sha256-3xY8CZ4rSnQ0NqGhMKAy5vgC+2IVK0NoVEzDoOh4DA4=",
|
"narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a6531044f6d0bef691ea18d4d4ce44d0daa6e816",
|
"rev": "418468ac9527e799809c900eda37cbff999199b6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -100,11 +58,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766014764,
|
"lastModified": 1764836381,
|
||||||
"narHash": "sha256-+73VffE5GP5fvbib6Hs1Su6LehG+9UV1Kzs90T2gBLA=",
|
"narHash": "sha256-8jemYbbW9EBttQKHep7Rj8kzXaxsrk/lACdXA2DN5Xk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2b0d2b456e4e8452cf1c16d00118d145f31160f9",
|
"rev": "ff06bd3398fb1bea6c937039ece7e7c8aa396ebf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -116,27 +74,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766314097,
|
"lastModified": 1764667669,
|
||||||
"narHash": "sha256-laJftWbghBehazn/zxVJ8NdENVgjccsWAdAqKXhErrM=",
|
"narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "306ea70f9eb0fb4e040f8540e2deab32ed7e2055",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766309749,
|
|
||||||
"narHash": "sha256-3xY8CZ4rSnQ0NqGhMKAy5vgC+2IVK0NoVEzDoOh4DA4=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a6531044f6d0bef691ea18d4d4ce44d0daa6e816",
|
"rev": "418468ac9527e799809c900eda37cbff999199b6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -146,13 +88,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766070988,
|
"lastModified": 1764242076,
|
||||||
"narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=",
|
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c6245e83d836d0433170a16eb185cefe0572f8b8",
|
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -165,11 +107,11 @@
|
||||||
"nvim-treesitter": {
|
"nvim-treesitter": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766230815,
|
"lastModified": 1764266060,
|
||||||
"narHash": "sha256-+2PF6Q2uwRs/gbhKvR4jF8rYhe0HoZfwMwZCoZinp/o=",
|
"narHash": "sha256-j2o5c4qgVYQs5DJpSDX1eMsNonDkhyhEQQYMYW2YS7o=",
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"repo": "nvim-treesitter",
|
"repo": "nvim-treesitter",
|
||||||
"rev": "8cdffc6d334731ce3703b6d870a5a34fd878208a",
|
"rev": "17885756e63df73ed90db62e4630f744ceda6514",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -181,16 +123,16 @@
|
||||||
},
|
},
|
||||||
"nvim-treesitter-main": {
|
"nvim-treesitter-main": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nvim-treesitter": "nvim-treesitter",
|
"nvim-treesitter": "nvim-treesitter",
|
||||||
"nvim-treesitter-textobjects": "nvim-treesitter-textobjects"
|
"nvim-treesitter-textobjects": "nvim-treesitter-textobjects"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766296113,
|
"lastModified": 1764561751,
|
||||||
"narHash": "sha256-s6bymukQTFg6kAsgogwbCda+Fe+Su3T9rJE0xZ8s9R0=",
|
"narHash": "sha256-gI/1xLdvXvrkZYTArFSW/2bydHiIJvln6sePNT4KHAc=",
|
||||||
"owner": "iofq",
|
"owner": "iofq",
|
||||||
"repo": "nvim-treesitter-main",
|
"repo": "nvim-treesitter-main",
|
||||||
"rev": "5ca3b0dd2d3d00fb597ba8c316eb3ca79ea17fbc",
|
"rev": "9f104282ca15b762fd6523a82ec9a6c182170489",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -202,11 +144,11 @@
|
||||||
"nvim-treesitter-textobjects": {
|
"nvim-treesitter-textobjects": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766243280,
|
"lastModified": 1764294350,
|
||||||
"narHash": "sha256-hbVwqoo0WRTVKIhsG5N6IXnmOVrrQzGuE4x0rEMYro0=",
|
"narHash": "sha256-M7Wfyg1cHXOHKzkhei3GfozK2tsUZ7LZoOdSiHY0dG4=",
|
||||||
"owner": "nvim-treesitter",
|
"owner": "nvim-treesitter",
|
||||||
"repo": "nvim-treesitter-textobjects",
|
"repo": "nvim-treesitter-textobjects",
|
||||||
"rev": "e91c585ac0ee760198dabc1fad2e6227effdcd5e",
|
"rev": "63c4dce4a56312ef1bdeafd16bdefa008fcc950a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -220,56 +162,19 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"emacs-overlay": "emacs-overlay",
|
"emacs-overlay": "emacs-overlay",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"llm-agents": "llm-agents",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"nvim-treesitter-main": "nvim-treesitter-main",
|
"nvim-treesitter-main": "nvim-treesitter-main",
|
||||||
"vim-org-roam": "vim-org-roam"
|
"vim-org-roam": "vim-org-roam"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"llm-agents",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766000401,
|
|
||||||
"narHash": "sha256-+cqN4PJz9y0JQXfAK5J1drd0U05D5fcAGhzhfVrDlsI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "42d96e75aa56a3f70cab7e7dc4a32868db28e8fd",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vim-org-roam": {
|
"vim-org-roam": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765802816,
|
"lastModified": 1764552004,
|
||||||
"narHash": "sha256-Zzq4JK3iFBVr8QmMmv5vm/R8QyYqmL44fRMZa15m7eo=",
|
"narHash": "sha256-jtQeT+wVz7CHA34aQYFjROAV5A24aDuduOjcn+LPN3o=",
|
||||||
"owner": "chipsenkbeil",
|
"owner": "chipsenkbeil",
|
||||||
"repo": "org-roam.nvim",
|
"repo": "org-roam.nvim",
|
||||||
"rev": "74276a94e9e4af463e7ba35c22259eeced9c90f9",
|
"rev": "087b7ba015a7d164c16d24567727117a0b0c43a6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@
|
||||||
url = "github:chipsenkbeil/org-roam.nvim";
|
url = "github:chipsenkbeil/org-roam.nvim";
|
||||||
flake = false;
|
flake = false;
|
||||||
};
|
};
|
||||||
llm-agents.url = "github:numtide/llm-agents.nix";
|
|
||||||
# Workaround until nvim-treesitter main branch is used in nixpkgs
|
# Workaround until nvim-treesitter main branch is used in nixpkgs
|
||||||
nvim-treesitter-main.url = "github:iofq/nvim-treesitter-main";
|
nvim-treesitter-main.url = "github:iofq/nvim-treesitter-main";
|
||||||
};
|
};
|
||||||
|
|
@ -41,7 +40,7 @@
|
||||||
"mongodb-compass"
|
"mongodb-compass"
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"nvidia-settings"
|
"nvidia-settings"
|
||||||
"idea"
|
"idea-ultimate"
|
||||||
];
|
];
|
||||||
overlays =
|
overlays =
|
||||||
extraOverlays
|
extraOverlays
|
||||||
|
|
|
||||||
114
hosts/froidmpa-laptop/default.nix
Normal file
114
hosts/froidmpa-laptop/default.nix
Normal file
|
|
@ -0,0 +1,114 @@
|
||||||
|
{ config, ... }:
|
||||||
|
{
|
||||||
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
|
modules = {
|
||||||
|
desktop.wm.enable = true;
|
||||||
|
editor = {
|
||||||
|
vim.enable = true;
|
||||||
|
emacs.enable = true;
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
flatpak.enable = true;
|
||||||
|
belgian-eid.enable = true;
|
||||||
|
docker.enable = true;
|
||||||
|
libvirt.enable = true;
|
||||||
|
languagetool.enable = true;
|
||||||
|
work-proxy.enable = true;
|
||||||
|
};
|
||||||
|
media = {
|
||||||
|
mpd.enable = true;
|
||||||
|
ncmpcpp.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
user.name = "froidmpa";
|
||||||
|
|
||||||
|
# Monitor backlight control
|
||||||
|
programs.light.enable = true;
|
||||||
|
|
||||||
|
services.tlp.enable = true;
|
||||||
|
|
||||||
|
home-manager.users.${config.user.name} =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.network-manager-applet.enable = true;
|
||||||
|
services.blueman-applet.enable = true;
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
monitor = [
|
||||||
|
"eDP-1, 1920x1080, 0x720, 1.5"
|
||||||
|
"DP-1, 1920x1080, 0x0, 1.5"
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"w[tv1], gapsout:0, gapsin:0"
|
||||||
|
"f[1], gapsout:0, gapsin:0"
|
||||||
|
];
|
||||||
|
windowrulev2 = [
|
||||||
|
"bordersize 0, floating:0, onworkspace:w[tv1]"
|
||||||
|
"rounding 0, floating:0, onworkspace:w[tv1]"
|
||||||
|
"bordersize 0, floating:0, onworkspace:f[1]"
|
||||||
|
"rounding 0, floating:0, onworkspace:f[1]"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.pipewire.wireplumber.extraConfig = {
|
||||||
|
"monitor.bluez.properties" = {
|
||||||
|
"bluez5.enable-sbc-xq" = true;
|
||||||
|
"bluez5.enable-msbc" = true;
|
||||||
|
"bluez5.enable-hw-volume" = true;
|
||||||
|
"bluez5.roles" = [
|
||||||
|
"hsp_hs"
|
||||||
|
"hsp_ag"
|
||||||
|
"hfp_hf"
|
||||||
|
"hfp_ag"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
listenAddresses = [
|
||||||
|
{
|
||||||
|
# Tailscale interface
|
||||||
|
addr = "100.64.0.1";
|
||||||
|
port = 22;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
services.logind.settings.Login.HandleLidSwitch = "ignore";
|
||||||
|
users.users.${config.user.name} = {
|
||||||
|
openssh.authorizedKeys.keyFiles = [
|
||||||
|
../../ssh_keys/phfroidmont-desktop.pub
|
||||||
|
../../ssh_keys/phfroidmont-stellaris.pub
|
||||||
|
];
|
||||||
|
extraGroups = [ "video" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
distributedBuilds = true;
|
||||||
|
buildMachines = [
|
||||||
|
{
|
||||||
|
hostName = "hel1.banditlair.com";
|
||||||
|
sshUser = "nix-ssh";
|
||||||
|
system = "x86_64-linux";
|
||||||
|
supportedFeatures = [
|
||||||
|
"nixos-test"
|
||||||
|
"benchmark"
|
||||||
|
"big-parallel"
|
||||||
|
"kvm"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
settings = {
|
||||||
|
substituters = [ "ssh://nix-ssh@hel1.banditlair.com" ];
|
||||||
|
trusted-public-keys = [ "hel1.banditlair.com:stzB4xe5QTFvSABoP11ZpNzLDCRZ93PExk0Z/gOzW3g=" ];
|
||||||
|
builders-use-substitutes = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
system.stateVersion = "21.05";
|
||||||
|
}
|
||||||
58
hosts/froidmpa-laptop/hardware-configuration.nix
Normal file
58
hosts/froidmpa-laptop/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
{ modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"sdhci_pci"
|
||||||
|
];
|
||||||
|
kernelModules = [ "dm-snapshot" ];
|
||||||
|
};
|
||||||
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
# Required, otherwise the kernel freezes on boot
|
||||||
|
kernelParams = [
|
||||||
|
"amd_iommu=on"
|
||||||
|
"iommu=pt"
|
||||||
|
"pci=noats"
|
||||||
|
];
|
||||||
|
extraModulePackages = [ ];
|
||||||
|
loader.systemd-boot.enable = true;
|
||||||
|
loader.efi.canTouchEfiVariables = true;
|
||||||
|
initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/1e900b2e-daea-4558-b18f-3d3a5843de61";
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/a8abad9b-5615-4887-8431-3d80b78d073e";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/077C-758A";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/dev/disk/by-uuid/bb8fa9ef-9b8f-413d-913a-6c891649a954"; } ];
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
# Enable A2DP Sink
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
lutris.enable = true;
|
lutris.enable = true;
|
||||||
};
|
};
|
||||||
ai.opencode.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
user.name = "froidmpa";
|
user.name = "froidmpa";
|
||||||
|
|
@ -64,13 +63,10 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
users.users.root.openssh.authorizedKeys.keyFiles = [
|
||||||
users.users.${config.user.name} = {
|
../../ssh_keys/phfroidmont-laptop.pub
|
||||||
openssh.authorizedKeys.keyFiles = [
|
../../ssh_keys/phfroidmont-stellaris.pub
|
||||||
../../ssh_keys/phfroidmont-desktop.pub
|
];
|
||||||
../../ssh_keys/phfroidmont-stellaris.pub
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow to externally control MPD
|
# Allow to externally control MPD
|
||||||
networking.firewall.allowedTCPPorts = [ 6600 ];
|
networking.firewall.allowedTCPPorts = [ 6600 ];
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
users.users.root.openssh.authorizedKeys.keyFiles = [
|
users.users.root.openssh.authorizedKeys.keyFiles = [
|
||||||
../../ssh_keys/phfroidmont-desktop.pub
|
../../ssh_keys/phfroidmont-desktop.pub
|
||||||
../../ssh_keys/phfroidmont-stellaris.pub
|
../../ssh_keys/phfroidmont-laptop.pub
|
||||||
];
|
];
|
||||||
|
|
||||||
services.adguardhome = {
|
services.adguardhome = {
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
lutris.enable = true;
|
lutris.enable = true;
|
||||||
};
|
};
|
||||||
ai.opencode.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Monitor backlight control
|
# Monitor backlight control
|
||||||
|
|
@ -116,6 +115,7 @@
|
||||||
users.users.${config.user.name} = {
|
users.users.${config.user.name} = {
|
||||||
openssh.authorizedKeys.keyFiles = [
|
openssh.authorizedKeys.keyFiles = [
|
||||||
../../ssh_keys/phfroidmont-desktop.pub
|
../../ssh_keys/phfroidmont-desktop.pub
|
||||||
|
../../ssh_keys/phfroidmont-laptop.pub
|
||||||
];
|
];
|
||||||
extraGroups = [ "video" ];
|
extraGroups = [ "video" ];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.modules.ai.opencode;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.ai.opencode = {
|
|
||||||
enable = lib.my.mkBoolOpt false;
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home-manager.users.${config.user.name} =
|
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.opencode = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.llm-agents.packages.${pkgs.system}.opencode;
|
|
||||||
settings = {
|
|
||||||
model = "glm_4_5_air";
|
|
||||||
permission = {
|
|
||||||
bash = "ask";
|
|
||||||
edit = "ask";
|
|
||||||
};
|
|
||||||
provider = {
|
|
||||||
vllm = {
|
|
||||||
npm = "@ai-sdk/openai-compatible";
|
|
||||||
name = "vLLM";
|
|
||||||
options = {
|
|
||||||
baseURL = "http://model1.lefoyer.lu:8030/v1";
|
|
||||||
apiKey = "dummy";
|
|
||||||
};
|
|
||||||
models = {
|
|
||||||
glm_4_5_air = {
|
|
||||||
name = "GLM 4.5 Air (local)";
|
|
||||||
temperature = true;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
openai = {
|
|
||||||
models = {
|
|
||||||
"gpt-5.1-codex" = {
|
|
||||||
options = {
|
|
||||||
store = false;
|
|
||||||
# reasoningEffort = "high";
|
|
||||||
# textVerbosity = "medium";
|
|
||||||
# reasoningSummary = "auto";
|
|
||||||
include = [ "reasoning.encrypted_content" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"gpt-5.1-codex-max" = {
|
|
||||||
options = {
|
|
||||||
store = false;
|
|
||||||
include = [ "reasoning.encrypted_content" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
agent = {
|
|
||||||
build = {
|
|
||||||
mode = "primary";
|
|
||||||
temperature = 0.4;
|
|
||||||
};
|
|
||||||
plan = {
|
|
||||||
mode = "primary";
|
|
||||||
temperature = 0.4;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lsp = {
|
|
||||||
metals = {
|
|
||||||
command = [ "${pkgs.metals}/bin/metals" ];
|
|
||||||
extensions = [
|
|
||||||
".scala"
|
|
||||||
".sbt"
|
|
||||||
".sc"
|
|
||||||
];
|
|
||||||
initialization = {
|
|
||||||
statusBarProvider = "log-message";
|
|
||||||
doctorProvider = "json";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -198,8 +198,8 @@ in
|
||||||
scala-cli
|
scala-cli
|
||||||
beamMinimal27Packages.elixir
|
beamMinimal27Packages.elixir
|
||||||
jdk
|
jdk
|
||||||
jetbrains.idea-oss
|
jetbrains.idea-community
|
||||||
jetbrains.idea
|
jetbrains.idea-ultimate
|
||||||
httpie
|
httpie
|
||||||
|
|
||||||
zsh-syntax-highlighting
|
zsh-syntax-highlighting
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,6 @@ in
|
||||||
font_family = "Meslo LG S";
|
font_family = "Meslo LG S";
|
||||||
font_size = 10;
|
font_size = 10;
|
||||||
symbol_map = "U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d4,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b1,U+e700-U+e7c5,U+f000-U+f2e0,U+f300-U+f372,U+f400-U+f532,U+f0001-U+f1af0 Symbols Nerd Font Mono";
|
symbol_map = "U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d4,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b1,U+e700-U+e7c5,U+f000-U+f2e0,U+f300-U+f372,U+f400-U+f532,U+f0001-U+f1af0 Symbols Nerd Font Mono";
|
||||||
allow_remote_control = "yes";
|
|
||||||
listen_on = "unix:@mykitty";
|
|
||||||
};
|
};
|
||||||
keybindings = {
|
keybindings = {
|
||||||
"ctrl+up" = "change_font_size all +2.0";
|
"ctrl+up" = "change_font_size all +2.0";
|
||||||
|
|
|
||||||
17
modules/editor/vim/lua/plugins/avante.lua
Normal file
17
modules/editor/vim/lua/plugins/avante.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
return {
|
||||||
|
"yetone/avante.nvim",
|
||||||
|
opts = {
|
||||||
|
-- add any opts here
|
||||||
|
-- this file can contain specific instructions for your project
|
||||||
|
instructions_file = "avante.md",
|
||||||
|
provider = "opencode",
|
||||||
|
{
|
||||||
|
acp_providers = {
|
||||||
|
["opencode"] = {
|
||||||
|
command = "opencode",
|
||||||
|
args = { "acp" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
@ -17,7 +17,6 @@ return {
|
||||||
metals = {
|
metals = {
|
||||||
settings = {
|
settings = {
|
||||||
showImplicitArguments = false,
|
showImplicitArguments = false,
|
||||||
startMcpServer = true,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
elixirls = {
|
elixirls = {
|
||||||
|
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
sections = {
|
|
||||||
lualine_z = {
|
|
||||||
{
|
|
||||||
require("opencode").statusline,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
return {
|
|
||||||
"NickvanDyke/opencode.nvim",
|
|
||||||
config = function()
|
|
||||||
---@type opencode.Opts
|
|
||||||
vim.g.opencode_opts = {
|
|
||||||
provider = {
|
|
||||||
enabled = "kitty",
|
|
||||||
kitty = {
|
|
||||||
location = "tab"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
events = {
|
|
||||||
permissions = {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
vim.o.autoread = true
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x" }, "<leader>aa", function()
|
|
||||||
require("opencode").ask("@this: ", { submit = true })
|
|
||||||
end, { desc = "Ask opencode" })
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x" }, "<leader>ao", function()
|
|
||||||
require("opencode").select()
|
|
||||||
end, { desc = "Execute opencode action…" })
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x" }, "<leader>as", function()
|
|
||||||
require("opencode").prompt("@this")
|
|
||||||
end, { desc = "Add to opencode" })
|
|
||||||
|
|
||||||
vim.keymap.set({ "n", "t" }, "<leader>a.", function()
|
|
||||||
require("opencode").toggle()
|
|
||||||
end, { desc = "Toggle opencode" })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -134,17 +134,9 @@ in
|
||||||
vim-startuptime
|
vim-startuptime
|
||||||
yazi-nvim
|
yazi-nvim
|
||||||
zk-nvim
|
zk-nvim
|
||||||
|
avante-nvim
|
||||||
(pkgs.vimUtils.buildVimPlugin {
|
blink-cmp-avante
|
||||||
pname = "opencode.nvim";
|
img-clip-nvim
|
||||||
version = "2025-12-04";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "NickvanDyke";
|
|
||||||
repo = "opencode.nvim";
|
|
||||||
rev = "963fad75f794deb85d1c310d2e2cb033da44f670";
|
|
||||||
hash = "sha256-nKOsHgMptHnOS+SCTHa77sQ/ZiUY0aW26I8GN7ocRHE=";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
|
|
@ -234,6 +226,7 @@ in
|
||||||
{ import = "lazyvim.plugins.extras.lang.elixir" },
|
{ import = "lazyvim.plugins.extras.lang.elixir" },
|
||||||
{ import = "lazyvim.plugins.extras.test.core" },
|
{ import = "lazyvim.plugins.extras.test.core" },
|
||||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||||
|
{ import = "lazyvim.plugins.extras.ai.avante" },
|
||||||
-- import/override with your plugins
|
-- import/override with your plugins
|
||||||
{ import = "plugins" },
|
{ import = "plugins" },
|
||||||
},
|
},
|
||||||
|
|
@ -306,7 +299,8 @@ in
|
||||||
angular-language-server
|
angular-language-server
|
||||||
vtsls
|
vtsls
|
||||||
zk
|
zk
|
||||||
metals
|
|
||||||
|
opencode
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
1
ssh_keys/phfroidmont-laptop.pub
Normal file
1
ssh_keys/phfroidmont-laptop.pub
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILu2vaezsTNaTY8X4o2mFOmQguPnSAMOoPZRlW2ACAku froidmpa@froidmpa-laptop-2021-06-30
|
||||||
Loading…
Add table
Add a link
Reference in a new issue