Compare commits

..

10 commits

Author SHA1 Message Date
63f9776a31
wip: niri take 2 [skip-ci]
Some checks failed
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Failing after 1s
/ report-size (push) Has been skipped
Take two, since one wasn't enough.
2025-03-21 17:05:15 +01:00
7f3aaed6ed
refactor: don't include the whole modules
Some checks failed
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Failing after 1s
/ report-size (push) Has been skipped
Instead only import the nixos/hm/nixvim module.

This _should_ reduce rebuilds.
2025-03-21 17:05:14 +01:00
5359f13621
chore(deps): lock file maintenance
All checks were successful
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 14s
/ build-vm (push) Successful in 1s
/ report-size (push) Successful in 4s
2025-03-21 00:00:29 +01:00
237a8f6ac5
fix(waybar): non-empty highlight missing
All checks were successful
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Successful in 1s
/ report-size (push) Successful in 3s
Move the style to the bottom of the file with `lib.mkAfter`.
2025-03-20 19:09:41 +01:00
54fd5df1f8
fix(jj): update signing config
All checks were successful
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Successful in 1s
/ report-size (push) Successful in 4s
Some options have changed so set them so that signing works properly.
2025-03-20 18:35:21 +01:00
3838039cee
chore: update nvim-silicon plugin
All checks were successful
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Successful in 2s
/ report-size (push) Successful in 4s
Also fix `just update-vim-plugins` as it was broken by the recent
refactor.
2025-03-19 19:12:02 +01:00
bd970253f2
chore: update flake inputs
Flake lock file updates:

• Updated input 'nixvim':
    'github:nix-community/nixvim/78f6166c23f80bdfbcc8c44b20f7f4132299a33f' (2025-03-17)
  → 'github:nix-community/nixvim/d79c291d5d80d587d518e0f530cc55adb0638c80' (2025-03-19)
• Updated input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/1da52dd49a127ad74486b135898da2cef8c62665' (2025-02-05)
  → 'github:NixOS/nixpkgs/3549532663732bfd89993204d40543e9edaec4f2' (2025-03-18)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/b3b938ab8ba2e8a0ce9ee9b30ccfa5e903ae5753' (2025-03-18)
  → 'github:numtide/treefmt-nix/adc195eef5da3606891cedf80c0d9ce2d3190808' (2025-03-19)
2025-03-19 18:52:30 +01:00
a7af2d561c
chore(deps): lock file maintenance
All checks were successful
/ check (push) Successful in 8s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Successful in 1s
/ report-size (push) Successful in 4s
2025-03-19 00:00:33 +01:00
8d6cb040cb
chore(deps): lock file maintenance
All checks were successful
/ check (push) Successful in 8s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 14s
/ build-vm (push) Successful in 2s
/ report-size (push) Successful in 4s
2025-03-18 00:00:36 +01:00
a198949c26
ci: fix report-size deps
All checks were successful
/ check (push) Successful in 9s
/ check-renovaterc (push) Successful in 3s
/ build-packages (push) Successful in 13s
/ build-vm (push) Successful in 2s
/ report-size (push) Successful in 4s
It should run after the build jobs so that the cache is warm.
2025-03-17 08:29:54 +01:00
14 changed files with 123 additions and 126 deletions

View file

@ -39,7 +39,9 @@ jobs:
nix build --print-build-logs '.#nixosConfigurations.vm.config.system.build.toplevel'
report-size:
runs-on: nixos
needs: build
needs:
- build-packages
- build-vm
steps:
- uses: "https://git.salame.cl/actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683" # v4
- run: nix --version

40
example-vm/default.nix Normal file
View file

@ -0,0 +1,40 @@
{
import = [ ./vm_config.nix ];
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
users.users.jdoe = {
password = "example";
isNormalUser = true;
extraGroups = [
"wheel"
"video"
"networkmanager"
];
};
home-manager.users.jdoe = {
home = {
username = "jdoe";
homeDirectory = "/home/jdoe";
};
jhome = {
enable = true;
gui.enable = true;
dev = {
enable = true;
rust.enable = true;
};
};
};
# password is 'test' see module documentation for more options
services.jupyter.password = "'sha1:1b961dc713fb:88483270a63e57d18d43cf337e629539de1436ba'";
jconfig = {
enable = true;
dev = {
enable = true;
jupyter.enable = true;
};
gui.enable = true;
};
}

View file

@ -1,7 +1,13 @@
## Default QEMU guest config
{
services.qemuGuest.enable = true;
services = {
qemuGuest.enable = true;
openssh.enable = true;
};
boot.initrd.availableKernelModules = [
boot = {
loader.systemd-boot.enable = true;
initrd.availableKernelModules = [
"xhci_pci"
"ehci_pci"
"ahci"
@ -15,17 +21,14 @@
# "virtio_vga"
"virtio_gpu"
];
};
fileSystems."/".device = "/dev/disk/by-label/nixos";
boot.loader.systemd-boot.enable = true;
services.openssh.enable = true;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "22.11"; # Did you read the comment?
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -8,47 +8,11 @@ in
{
# Example vm configuration
flake.nixosConfigurations.vm = lib.nixosSystem {
inherit system pkgs;
inherit pkgs;
modules = [
inputs.self.nixosModules.vm # import vm module
{
time.timeZone = "Europe/Berlin";
i18n.defaultLocale = "en_US.UTF-8";
users.users.jdoe = {
password = "example";
isNormalUser = true;
extraGroups = [
"wheel"
"video"
"networkmanager"
];
};
home-manager.users.jdoe = {
home = {
username = "jdoe";
homeDirectory = "/home/jdoe";
};
jhome = {
enable = true;
gui.enable = true;
dev = {
enable = true;
rust.enable = true;
};
};
};
nix.registry.nixpkgs.flake = inputs.nixpkgs;
# password is 'test' see module documentation for more options
services.jupyter.password = "'sha1:1b961dc713fb:88483270a63e57d18d43cf337e629539de1436ba'";
jconfig = {
enable = true;
dev = {
enable = true;
jupyter.enable = true;
};
gui.enable = true;
};
}
inputs.self.nixosModules.default
../example-vm # import vm configuration
{ nix.registry.nixpkgs.flake = inputs.nixpkgs; }
];
};

View file

@ -1,7 +1,4 @@
{ self, inputs, ... }:
let
modules = ../modules;
in
{
# FIXME(25.05): this version of HM should have the flake module
# imports = [ inputs.home-manager.flakeModules.home-manager ];
@ -11,7 +8,7 @@ in
defaultModules = [
inputs.nixvim.homeManagerModules.nixvim
self.nixvimModules.homeManager
(modules + "/hm")
../module/hm
];
nixos = {
imports = defaultModules;

View file

@ -4,9 +4,6 @@
lib,
...
}:
let
modules = ../modules;
in
{
flake.nixosModules =
let
@ -15,7 +12,7 @@ in
inputs.niri.nixosModules.niri
inputs.stylix.nixosModules.stylix
inputs.home-manager.nixosModules.home-manager
(modules + "/nixos")
../modules/nixos
] ++ lib.optional (inputs.lix-module != null) inputs.lix-module.nixosModules.default;
home-manager = {
useGlobalPkgs = true;
@ -25,20 +22,9 @@ in
# Pin nixpkgs
nix.registry.nixpkgs.flake = inputs.nixpkgs;
};
machines = [ "vm" ];
mkMachine = hostname: {
imports = [
nixosModule
(import (../machines + "/${hostname}"))
];
home-manager.sharedModules = [ { jhome.hostName = hostname; } ];
};
machineModules = lib.genAttrs machines mkMachine;
in
{
default = nixosModule;
inherit nixosModule;
}
// machineModules;
};
}

View file

@ -1,7 +1,4 @@
{ self, inputs, ... }:
let
modules = ../modules;
in
{
imports = [ inputs.nixvim.flakeModules.default ];
@ -10,9 +7,13 @@ in
checks.enable = false; # FIXME: borked due to nix-community/nixvim#3074
};
flake.nixvimModules = {
standalone = modules + "/nixvim/standalone.nix";
homeManager = modules + "/nixvim";
flake.nixvimModules =
let
module = ../modules/nixvim;
in
{
standalone = "${module}/standalone.nix";
homeManager = module;
};
perSystem =

30
flake.lock generated
View file

@ -226,11 +226,11 @@
]
},
"locked": {
"lastModified": 1739757849,
"narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"lastModified": 1742234739,
"narHash": "sha256-zFL6zsf/5OztR1NSNQF33dvS1fL/BzVUjabZq4qrtY4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"rev": "f6af7280a3390e65c2ad8fd059cdc303426cbd59",
"type": "github"
},
"original": {
@ -321,11 +321,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1741862977,
"narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
"lastModified": 1742388435,
"narHash": "sha256-GheQGRNYAhHsvPxWVOhAmg9lZKkis22UPbEHlmZMthg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
"rev": "b75693fb46bfaf09e662d09ec076c5a162efa9f6",
"type": "github"
},
"original": {
@ -337,11 +337,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1738797219,
"narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=",
"lastModified": 1742272065,
"narHash": "sha256-ud8vcSzJsZ/CK+r8/v0lyf4yUntVmDq6Z0A41ODfWbE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1da52dd49a127ad74486b135898da2cef8c62665",
"rev": "3549532663732bfd89993204d40543e9edaec4f2",
"type": "github"
},
"original": {
@ -360,11 +360,11 @@
"nuschtosSearch": []
},
"locked": {
"lastModified": 1741814789,
"narHash": "sha256-NbHsnnNwiYUcUaS4z8XK2tYpo3G8NXEKxaKkzMgMiLk=",
"lastModified": 1742488644,
"narHash": "sha256-vXpu7G4aupNCPlv8kAo7Y/jocfSUwglkvNx5cR0XjBo=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "33097dcf776d1fad0ff3842096c4e3546312f251",
"rev": "d44b33a1ea1a3e584a8c93164dbe0ba2ad4f3a13",
"type": "github"
},
"original": {
@ -504,11 +504,11 @@
]
},
"locked": {
"lastModified": 1739829690,
"narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=",
"lastModified": 1742370146,
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "3d0579f5cc93436052d94b73925b48973a104204",
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808",
"type": "github"
},
"original": {

View file

@ -13,10 +13,8 @@ run-vm: build-vm
update-vim-plugins:
#!/bin/sh
# Use local nixpkgs if available
nixpkgs="$HOME/Dev/nixpkgs"
plugindir=./modules/nixvim/extraPlugins
# copy nixpkgs from local checkout
if [ ! -d "$nixpkgs" ]; then
nixpkgs="$(mktemp -d)"
cp -r /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/. "$nixpkgs"
cd "$nixpkgs"
@ -24,11 +22,10 @@ update-vim-plugins:
git add .
git commit -m 'dummy commit'
cd -
fi
# update vim plugins
nix run nixpkgs#vimPluginsUpdater -- --proc=1 --nixpkgs "$nixpkgs" --no-commit -i ./nvim/extraPlugins/plugins -o ./nvim/extraPlugins/generated.nix update
nix run nixpkgs#vimPluginsUpdater -- --proc=1 --nixpkgs "$nixpkgs" --no-commit -i "$plugindir/plugins" -o "$plugindir/generated.nix" update
# format the generated output
nix fmt ./nvim/extraPlugins/generated.nix
nix fmt "$plugindir/generated.nix"
# Amend Update flake.lock PR
flake-pr:

View file

@ -80,8 +80,10 @@ in
settings = lib.mkIf config.jhome.styling.enable (
import ./waybar-settings.nix { inherit config lib; }
);
# Style overrides to highlight workspaces with windows
style =
lib.optionalString config.jhome.styling.enable # css
lib.pipe
# css
''
.modules-left #workspaces button {
border-bottom: 3px solid @base01;
@ -89,7 +91,11 @@ in
.modules-left #workspaces button.persistent {
border-bottom: 3px solid transparent;
}
'';
''
[
(lib.optionalString config.jhome.styling.enable)
lib.mkAfter
];
};
# Terminal
wezterm = {

View file

@ -22,8 +22,9 @@ in
};
programs.jujutsu.settings = {
user = lib.mkIf (cfg.defaultIdentity != null) { inherit (cfg.defaultIdentity) name email; };
git.sign-on-push = lib.mkDefault hasKey;
signing = lib.mkIf hasKey {
sign-all = true;
behaviour = "own";
backend = "gpg";
key = signingKey;
};

View file

@ -10,12 +10,12 @@
final: prev: {
nvim-silicon = buildVimPlugin {
pname = "nvim-silicon";
version = "2024-08-31";
version = "2025-01-09";
src = fetchFromGitHub {
owner = "michaelrommel";
repo = "nvim-silicon";
rev = "9fe6001dc8cad4d9c53bcfc8649e3dc76ffa169c";
sha256 = "1qczi06yndkr2pmwidlkgmk0395x189sznvscn4fnr96jx58j5yl";
rev = "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32";
sha256 = "1zk6lgghvdcys20cqvh2g1kjf661q1w97niq5nx1zz4yppy2f9jy";
};
meta.homepage = "https://github.com/michaelrommel/nvim-silicon/";
};

View file

@ -327,9 +327,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]]
name = "rustix"
version = "1.0.2"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825"
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
dependencies = [
"bitflags",
"errno",

View file

@ -492,9 +492,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
[[package]]
name = "rustix"
version = "1.0.2"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825"
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
dependencies = [
"bitflags",
"errno",