Add syncthing base, git submodules
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -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
14
.gitmodules
vendored
Normal 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
39
flake.lock
generated
@@ -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": {
|
||||||
|
39
flake.nix
39
flake.nix
@@ -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
0
submodules/.gitkeep
Normal 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.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -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"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
15
users/configs/syncthing/default.nix
Normal file
15
users/configs/syncthing/default.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -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; })
|
||||||
|
Reference in New Issue
Block a user