mirror of
https://github.com/JaxTheWolf/nixos.git
synced 2026-04-01 02:00:22 +02:00
Compare commits
8 Commits
401490f581
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 7400536189 | |||
| dc832ad060 | |||
| faa6683948 | |||
| 841c3b2fbd | |||
| a3cccd8751 | |||
| d9478157fb | |||
| 599be0b0e5 | |||
| 0a07190179 |
6
Justfile
6
Justfile
@@ -12,8 +12,8 @@ build-laptop:
|
|||||||
nix build .#nixosConfigurations.dalaptop.config.system.build.toplevel --log-format internal-json |& nom --json
|
nix build .#nixosConfigurations.dalaptop.config.system.build.toplevel --log-format internal-json |& nom --json
|
||||||
|
|
||||||
upload:
|
upload:
|
||||||
attic push my-config result
|
attic push my-config result -j2
|
||||||
attic push my-config /run/current-system
|
attic push my-config /run/current-system -j2
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf result
|
rm -rf result
|
||||||
@@ -23,7 +23,7 @@ format:
|
|||||||
treefmt .
|
treefmt .
|
||||||
|
|
||||||
switch:
|
switch:
|
||||||
nh os switch
|
nh os switch --refresh
|
||||||
|
|
||||||
switch_update:
|
switch_update:
|
||||||
nh os switch --refresh --update
|
nh os switch --refresh --update
|
||||||
|
|||||||
30
common/flakes/clion-flake/flake.nix
Normal file
30
common/flakes/clion-flake/flake.nix
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
description = "Latest CLion from JetBrains";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
outputs = {
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
}: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"openssl-1.1.1w"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
packages.${system}.default = pkgs.jetbrains.clion.overrideAttrs (oldAttrs: rec {
|
||||||
|
version = "2026.1";
|
||||||
|
src = pkgs.fetchurl {
|
||||||
|
url = "https://download-cdn.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||||
|
hash = "sha256-r5flY2u6aCkI8q7ZcGWYLLxxcWWp3gtTkdBdKoacIB0=";
|
||||||
|
};
|
||||||
|
buildInputs = oldAttrs.buildInputs ++ [pkgs.openssl_1_1];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"my-config:51aC90S8+3+gS/UzwdnL7a7lu1NnY896SZp5njMwFDk="
|
"my-config:hK+qaX2TdSrf/sp8LjKq9VF9XU0qGksoQCdgVXfgWoQ="
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
./dconf
|
./dconf
|
||||||
./desktop-files.nix
|
./desktop-files.nix
|
||||||
./starship.nix
|
./starship.nix
|
||||||
|
./services.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
41
common/modules/home/services.nix
Normal file
41
common/modules/home/services.nix
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{pkgs, ...}: let
|
||||||
|
devShellsDir = "$HOME/.config/nix-shells";
|
||||||
|
nixConfigDir = "/etc/nixos";
|
||||||
|
|
||||||
|
syncScript = pkgs.writeShellScript "sync-all-repos" ''
|
||||||
|
repos=("${devShellsDir}" "${nixConfigDir}")
|
||||||
|
|
||||||
|
for repo in "''${repos[@]}"; do
|
||||||
|
echo "Syncing $repo..."
|
||||||
|
if ! ${pkgs.git}/bin/git -C "$repo" pull --rebase --autostash; then
|
||||||
|
${pkgs.libnotify}/bin/notify-send -u critical "Sync Failed" "Conflict or network error in $repo"
|
||||||
|
else
|
||||||
|
${pkgs.git}/bin/git -C "$repo" add -N . 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
systemd.user.services.sync-nix-repos = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Background sync for Nix Config and Dev Shells";
|
||||||
|
After = ["network-online.target"];
|
||||||
|
Wants = ["network-online.target"];
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = "${syncScript}";
|
||||||
|
PassEnvironment = ["DBUS_SESSION_BUS_ADDRESS" "DISPLAY"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.timers.sync-nix-repos = {
|
||||||
|
Unit.Description = "Hourly sync for all Nix repositories";
|
||||||
|
Timer = {
|
||||||
|
OnBootSec = "2m";
|
||||||
|
OnUnitActiveSec = "1h";
|
||||||
|
Persistent = true;
|
||||||
|
};
|
||||||
|
Install.WantedBy = ["timers.target"];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
|
clion-flake,
|
||||||
czkawka-master,
|
czkawka-master,
|
||||||
solaar-master,
|
solaar-master,
|
||||||
fet,
|
fet,
|
||||||
@@ -15,6 +16,7 @@
|
|||||||
"cisco-packet-tracer_9"
|
"cisco-packet-tracer_9"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
overlays = [
|
overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
nautilus = prev.nautilus.overrideAttrs (nprev: {
|
nautilus = prev.nautilus.overrideAttrs (nprev: {
|
||||||
@@ -91,7 +93,8 @@
|
|||||||
iftop
|
iftop
|
||||||
inkscape
|
inkscape
|
||||||
iotop
|
iotop
|
||||||
jetbrains.clion
|
#jetbrains.clion
|
||||||
|
clion-flake.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
jq
|
jq
|
||||||
just
|
just
|
||||||
killall
|
killall
|
||||||
|
|||||||
61
flake.lock
generated
61
flake.lock
generated
@@ -1,10 +1,24 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"clion-flake": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"path": "./common/flakes/clion-flake",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"path": "./common/flakes/clion-flake",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"parent": []
|
||||||
|
},
|
||||||
"czkawka-master": {
|
"czkawka-master": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"czkawka-src": "czkawka-src",
|
"czkawka-src": "czkawka-src",
|
||||||
"naersk": "naersk",
|
"naersk": "naersk",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"path": "./common/flakes/czkawka-master",
|
"path": "./common/flakes/czkawka-master",
|
||||||
@@ -58,7 +72,7 @@
|
|||||||
"fet": {
|
"fet": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"path": "./common/flakes/fet",
|
"path": "./common/flakes/fet",
|
||||||
@@ -95,11 +109,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774539458,
|
"lastModified": 1774875815,
|
||||||
"narHash": "sha256-H9GIOqdMfQZ6lFetsQhO9TCq53hYzpTHDWOt3PRh9V0=",
|
"narHash": "sha256-PzqwM4njoB3aznqwPZUawD4uOcJeu7N6GBTJKg81EQ4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e2e5f512b33ed19a7a3271d0b73ed5eefcc0be5f",
|
"rev": "9340f51314713c83360bf72d75c8b404778ab5b1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -147,11 +161,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774386573,
|
"lastModified": 1774709303,
|
||||||
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -163,11 +177,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774386573,
|
"lastModified": 1774709303,
|
||||||
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -179,11 +193,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1774509978,
|
"lastModified": 1774709303,
|
||||||
"narHash": "sha256-hdl5+yPF2KXSpuFy6dTHe62c5hKiEAhd1fq8UagtTdQ=",
|
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b317a7eaabaea07be8c71aded8b266fddce0a181",
|
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774847206,
|
||||||
|
"narHash": "sha256-w0CBrn0GMqc6DAskum9LoJN1ur9irneL3P6ZZeXXQug=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b584523193e892d7261a7fe6520fb6021896cac1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -195,11 +225,12 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"clion-flake": "clion-flake",
|
||||||
"czkawka-master": "czkawka-master",
|
"czkawka-master": "czkawka-master",
|
||||||
"fet": "fet",
|
"fet": "fet",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
czkawka-master.url = "path:./common/flakes/czkawka-master";
|
czkawka-master.url = "path:./common/flakes/czkawka-master";
|
||||||
fet.url = "path:./common/flakes/fet";
|
fet.url = "path:./common/flakes/fet";
|
||||||
|
clion-flake.url = "path:./common/flakes/clion-flake";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
@@ -18,7 +19,7 @@
|
|||||||
home-manager,
|
home-manager,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
specialArgs = {inherit (inputs) czkawka-master fet;};
|
specialArgs = {inherit (inputs) czkawka-master fet clion-flake;};
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
epiquev2 = nixpkgs.lib.nixosSystem {
|
epiquev2 = nixpkgs.lib.nixosSystem {
|
||||||
|
|||||||
Reference in New Issue
Block a user