mirror of
https://github.com/JaxTheWolf/nixos.git
synced 2026-03-31 17:50:23 +02:00
Compare commits
5 Commits
401490f581
...
841c3b2fbd
| Author | SHA1 | Date | |
|---|---|---|---|
| 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
|
||||
|
||||
upload:
|
||||
attic push my-config result
|
||||
attic push my-config /run/current-system
|
||||
attic push my-config result -j2
|
||||
attic push my-config /run/current-system -j2
|
||||
|
||||
clean:
|
||||
rm -rf result
|
||||
@@ -23,7 +23,7 @@ format:
|
||||
treefmt .
|
||||
|
||||
switch:
|
||||
nh os switch
|
||||
nh os switch --refresh
|
||||
|
||||
switch_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 = [
|
||||
"my-config:51aC90S8+3+gS/UzwdnL7a7lu1NnY896SZp5njMwFDk="
|
||||
"my-config:hK+qaX2TdSrf/sp8LjKq9VF9XU0qGksoQCdgVXfgWoQ="
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
];
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
./dconf
|
||||
./desktop-files.nix
|
||||
./starship.nix
|
||||
./services.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,
|
||||
pkgs,
|
||||
lib,
|
||||
clion-flake,
|
||||
czkawka-master,
|
||||
solaar-master,
|
||||
fet,
|
||||
@@ -15,6 +16,7 @@
|
||||
"cisco-packet-tracer_9"
|
||||
];
|
||||
};
|
||||
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
nautilus = prev.nautilus.overrideAttrs (nprev: {
|
||||
@@ -91,7 +93,8 @@
|
||||
iftop
|
||||
inkscape
|
||||
iotop
|
||||
jetbrains.clion
|
||||
#jetbrains.clion
|
||||
clion-flake.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
jq
|
||||
just
|
||||
killall
|
||||
|
||||
49
flake.lock
generated
49
flake.lock
generated
@@ -1,10 +1,24 @@
|
||||
{
|
||||
"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": {
|
||||
"inputs": {
|
||||
"czkawka-src": "czkawka-src",
|
||||
"naersk": "naersk",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./common/flakes/czkawka-master",
|
||||
@@ -58,7 +72,7 @@
|
||||
"fet": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"path": "./common/flakes/fet",
|
||||
@@ -95,11 +109,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1774539458,
|
||||
"narHash": "sha256-H9GIOqdMfQZ6lFetsQhO9TCq53hYzpTHDWOt3PRh9V0=",
|
||||
"lastModified": 1774626137,
|
||||
"narHash": "sha256-1WelwA45Xm4glTG8R9IX9jYeFKDG2HbR79jAauLezUE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e2e5f512b33ed19a7a3271d0b73ed5eefcc0be5f",
|
||||
"rev": "9df3a639007cfe0d074433f7fc225ea94f877d08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -179,11 +193,27 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1774509978,
|
||||
"narHash": "sha256-hdl5+yPF2KXSpuFy6dTHe62c5hKiEAhd1fq8UagtTdQ=",
|
||||
"lastModified": 1774386573,
|
||||
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b317a7eaabaea07be8c71aded8b266fddce0a181",
|
||||
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1774612448,
|
||||
"narHash": "sha256-+uVDNwxihd82I6aZTgNvIXqFyLcfUBkg/Y0A8UBgycg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b55b0e0c856ac73c7f507336780f97aa7a9746e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -195,11 +225,12 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"clion-flake": "clion-flake",
|
||||
"czkawka-master": "czkawka-master",
|
||||
"fet": "fet",
|
||||
"home-manager": "home-manager",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
czkawka-master.url = "path:./common/flakes/czkawka-master";
|
||||
fet.url = "path:./common/flakes/fet";
|
||||
clion-flake.url = "path:./common/flakes/clion-flake";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
@@ -18,7 +19,7 @@
|
||||
home-manager,
|
||||
...
|
||||
} @ inputs: let
|
||||
specialArgs = {inherit (inputs) czkawka-master fet;};
|
||||
specialArgs = {inherit (inputs) czkawka-master fet clion-flake;};
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
epiquev2 = nixpkgs.lib.nixosSystem {
|
||||
|
||||
Reference in New Issue
Block a user