Add syncthing base, git submodules

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-07-07 21:05:50 +03:00
parent 56bf342a5b
commit 756a112b80
9 changed files with 96 additions and 69 deletions

View File

@@ -2,6 +2,9 @@ stages:
- build - build
- test - test
variables:
GIT_SUBMODULE_STRATEGY: recursive
cache: &global_cache cache: &global_cache
key: key:
files: files:

14
.gitmodules vendored Normal file
View File

@@ -0,0 +1,14 @@
[submodule "submodules/nixpkgs"]
path = submodules/nixpkgs
url = https://github.com/karaolidis/nixpkgs
branch = integration
[submodule "submodules/home-manager"]
path = submodules/home-manager
url = https://github.com/karaolidis/home-manager.git
branch = integration
[submodule "submodules/impermanence"]
path = submodules/impermanence
url = https://github.com/karaolidis/impermanence
branch = integration

39
flake.lock generated
View File

@@ -27,11 +27,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719864345, "lastModified": 1720056646,
"narHash": "sha256-e4Pw+30vFAxuvkSTaTypd9zYemB/QlWcH186dsGT+Ms=", "narHash": "sha256-BymcV4HWtx2VFuabDCM4/nEJcfivCx0S02wUCz11mAY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "544a80a69d6e2da04e4df7ec8210a858de8c7533", "rev": "64679cd7f318c9b6595902b47d4585b1d51d5f9e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -47,15 +47,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719992360, "lastModified": 1720367448,
"narHash": "sha256-SRq0ZRkqagqpMGVf4z9q9CIWRbPYjO7FTqSJyWh7nes=", "narHash": "sha256-GttUD2lobMaLCYC3f39SBFSH2Ji7v1Yf+JOFYKYuQ7Y=",
"owner": "nix-community", "owner": "karaolidis",
"repo": "home-manager", "repo": "home-manager",
"rev": "36e2f9da91ce8b63a549a47688ae60d47c50de4b", "rev": "f837c613224c4709412e563d43f3ec3b50acedda",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "karaolidis",
"ref": "integration",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -71,18 +72,18 @@
}, },
"original": { "original": {
"owner": "karaolidis", "owner": "karaolidis",
"ref": "home-manager-ordering", "ref": "integration",
"repo": "impermanence", "repo": "impermanence",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1719848872, "lastModified": 1720031269,
"narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -94,16 +95,16 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1719663039, "lastModified": 1720282526,
"narHash": "sha256-tXlrgAQygNIy49LDVFuPXlWD2zTQV9/F8pfoqwwPJyo=", "narHash": "sha256-dudRkHPRivMNOhd04YI+v4sWvn2SnN5ODSPIu5IVbco=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4a1e673523344f6ccc84b37f4413ad74ea19a119", "rev": "550ac3e955c30fe96dd8b2223e37e0f5d225c927",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "release-23.11", "ref": "release-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -126,11 +127,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1719873517, "lastModified": 1720321395,
"narHash": "sha256-D1dxZmXf6M2h5lNE1m6orojuUawVPjogbGRsqSBX+1g=", "narHash": "sha256-kcI8q9Nh8/CSj0ygfWq1DLckHl8IHhFarL8ie6g7OEk=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "a11224af8d824935f363928074b4717ca2e280db", "rev": "c184aca4db5d71c3db0c8cbfcaaec337a5d065ea",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,26 +1,45 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs = {
type = "github";
owner = "NixOS";
# owner = "karaolidis";
repo = "nixpkgs";
ref = "nixos-unstable";
# ref = "integration";
# url = "git+file:./submodules/nixpkgs";
};
home-manager = {
type = "github";
# owner = "nix-community"
owner = "karaolidis";
repo = "home-manager";
ref = "integration";
# url = "git+file:./submodules/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
impermanence = {
type = "github";
# owner = "nix-community"
owner = "karaolidis";
repo = "impermanence";
ref = "integration";
# url = "git+file:./submodules/impermanence";
};
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
impermanence = {
url = "github:karaolidis/impermanence/?ref=home-manager-ordering";
};
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
ags = { ags = {
url = "github:Aylur/ags"; url = "github:Aylur/ags";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

0
submodules/.gitkeep Normal file
View File

View File

@@ -309,7 +309,7 @@ in
packages = mkOption { packages = mkOption {
type = listOf package; type = listOf package;
default = with pkgs; [ default = with pkgs; [
gnome.adwaita-icon-theme adwaita-icon-theme
nixos-icons nixos-icons
]; ];
description = "The icon theme packages."; description = "The icon theme packages.";
@@ -325,7 +325,7 @@ in
packages = mkOption { packages = mkOption {
type = listOf package; type = listOf package;
default = with pkgs; [ gnome.adwaita-icon-theme ]; default = with pkgs; [ adwaita-icon-theme ];
description = "The cursor theme packages."; description = "The cursor theme packages.";
}; };

View File

@@ -10,44 +10,18 @@ in
persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/cliphist" ]; persistence."/cache${user.home}".directories = [ "${hmConfig.xdg.relativeCacheHome}/cliphist" ];
}; };
systemd.user.services = { services.cliphist.enable = true;
cliphist-text = {
Unit = {
Description = "Clipboard manager (text)";
BindsTo = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
};
Service.ExecStart = lib.meta.getExe (pkgs.writeShellApplication { wayland.windowManager.hyprland.settings.bind =
name = "init-cliphist-text"; let
runtimeInputs = with pkgs; [ wl-clipboard cliphist ]; cliphist = lib.meta.getExe pkgs.cliphist;
text = "exec wl-paste --type text --watch cliphist store"; rofi = lib.meta.getExe pkgs.rofi-wayland;
}); wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy";
in
Install.WantedBy = [ "graphical-session.target" ]; [
}; "$mod, v, exec, ${cliphist} list | ${rofi} -cache-dir ${hmConfig.xdg.cacheHome}/rofi -dmenu -display-columns 2 | ${cliphist} decode | ${wl-copy}"
"$mod_CTRL, v, exec, ${cliphist} list | ${rofi} -cache-dir ${hmConfig.xdg.cacheHome}/rofi -dmenu -display-columns 2 | ${cliphist} delete"
cliphist-image = { "$mod_CTRL_SHIFT, v, exec, ${cliphist} wipe"
Unit = { ];
Description = "Clipboard manager (images)";
BindsTo = [ "graphical-session.target" ];
After = [ "graphical-session.target" ];
};
Service.ExecStart = lib.meta.getExe (pkgs.writeShellApplication {
name = "init-cliphist-image";
runtimeInputs = with pkgs; [ wl-clipboard cliphist ];
text = "exec wl-paste --type image --watch cliphist store";
});
Install.WantedBy = [ "graphical-session.target" ];
};
};
wayland.windowManager.hyprland.settings.bind = [
"$mod, v, exec, cliphist list | ${lib.meta.getExe pkgs.rofi-wayland} -cache-dir ${hmConfig.xdg.cacheHome}/rofi -dmenu -display-columns 2 | cliphist decode | wl-copy"
"$mod_CTRL, v, exec, cliphist list | ${lib.meta.getExe pkgs.rofi-wayland} -cache-dir ${hmConfig.xdg.cacheHome}/rofi -dmenu -display-columns 2 | cliphist delete"
"$mod_CTRL_SHIFT, v, exec, cliphist wipe"
];
}; };
} }

View File

@@ -0,0 +1,15 @@
{ user ? throw "user argument is required" }: { ... }:
{
networking.firewall = {
allowedTCPPorts = [ 22000 ];
allowedUDPPorts = [ 21027 22000 ];
};
home-manager.users.${user.name} = {
services.syncthing = {
enable = true;
extraOptions = [ "-no-default-folder" ];
};
};
}

View File

@@ -18,6 +18,7 @@ in
(import ../configs/bluetooth { inherit user; }) (import ../configs/bluetooth { inherit user; })
(import ../configs/blueman { inherit user; }) (import ../configs/blueman { inherit user; })
(import ../configs/cbatticon { inherit user; }) (import ../configs/cbatticon { inherit user; })
(import ../configs/syncthing { inherit user; })
(import ../configs/brightnessctl { inherit user; }) (import ../configs/brightnessctl { inherit user; })
(import ../configs/pavucontrol { inherit user; }) (import ../configs/pavucontrol { inherit user; })
(import ../configs/pipewire { inherit user; }) (import ../configs/pipewire { inherit user; })