Compare commits

...

2 Commits

Author SHA1 Message Date
992fee7199 update network and waybar component 2025-04-26 20:22:51 +08:00
3088f2aea8 change file copy to soft link 2025-04-26 19:35:04 +08:00
7 changed files with 53 additions and 75 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
result

View File

@@ -89,6 +89,13 @@
}
},
"hyprland/window": {
"format": "{title}",
"tooltip-format": "{title}",
"rewrite": { "^(.{30}).+": "$1..." },
"separate-outputs": true
},
"clock": {
"format": "{:%Y/%m/%d %H:%M}",
"format-alt": "{:%I:%M%p 周%u}",
@@ -103,11 +110,7 @@
"spacing": 0,
"tooltip-format": "{title}",
"on-click": "activate",
"on-click-middle": "close",
"ignore-list": ["Alacritty"],
"app_ids-mapping": {
"firefoxdeveloperedition": "firefox-developer-edition"
}
"on-click-middle": "close"
},
"tray": {

View File

@@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
let
conf = [ "hypr" "waybar" "rofi" "kitty" "mako" "wlogout" ];
confPath = "${config.home.homeDirectory}/.nix/modules/home/hyprland/conf";
inherit (lib.my) mkOutOfStoreSymlinks;
in
{
imports = [
./env.nix
@@ -12,16 +16,7 @@
package = pkgs.hyprland;
# Whether to enable XWayland
xwayland.enable = true;
# Optional
# Whether to enable hyprland-session.target on hyprland startup
# systemd.enable = true;
settings = lib.mkDefault {
decoration = {
shadow_offset = "0 5";
"col.shadow" = "rgba(00000099)";
};
};
systemd.enable = false;
};
home.packages = with pkgs; [
@@ -52,42 +47,17 @@
swaylock.enable = true;
};
# hyprland configs, based on https://github.com/notwidow/hyprland
home.file.".config/hypr" = {
source = ./conf/hypr;
# copy the scripts directory recursively
recursive = true;
};
home.file.".config/rofi" = {
source = ./conf/rofi;
recursive = true;
};
home.file.".config/kitty" = {
source = ./conf/kitty;
recursive = true;
};
home.file.".config/mako" = {
source = ./conf/mako;
recursive = true;
};
# home.file.".config/swww" = {
# source = ./conf/swww;
# recursive = true;
# };
home.file.".config/waybar" = {
source = ./conf/waybar;
recursive = true;
};
home.file.".config/wlogout" = {
source = ./conf/wlogout;
recursive = true;
};
# 使用map函数循环 conf 变量,动态的生成 home.file.<user>.config.${i}
xdg.configFile = builtins.listToAttrs
(builtins.map
(name: {
inherit name;
value = {
source = config.lib.file.mkOutOfStoreSymlink "${confPath}/${name}";
};
})
conf
);
}

View File

@@ -15,11 +15,7 @@
networking.firewall = lib.mkDefault {
enable = true;
allowedTCPPorts = [ 22 80 443 ]; # 根据需要调整
allowedUDPPorts = [ 53 ]; # 根据需要调整
# 如果需要,可以添加特定服务的规则
allowedTCPPortRanges = [
{ from = 1714; to = 1764; } # KDE Connect
];
allowedUDPPorts = [ 9 53 ]; # 9: wol, 53: dns
};
# Select internationalisation properties.

View File

@@ -1,4 +1,4 @@
args@{ inputs, outputs, lib, pkgs, home-manager, self, username, useremail, hostname, sysversion, ... }: {
args@{ self, inputs, outputs, lib, pkgs, home-manager, username, useremail, hostname, sysversion, ... }: {
# You can import other NixOS modules here
imports = [
@@ -30,7 +30,7 @@ args@{ inputs, outputs, lib, pkgs, home-manager, self, username, useremail, host
# home-manager.useGlobalPkgs = true;
# home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit inputs outputs hostname username useremail sysversion;
inherit self inputs outputs hostname username useremail sysversion;
};
home-manager.users."${username}" = { ... }: {
imports = [

View File

@@ -1,10 +1,9 @@
{ config, ... }:
{
{ config, ... }: {
programs.ssh = {
enable = true;
};
home.file.".ssh/config" = {
source = ./config;
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.nix/profiles/apollo/hm/ssh/config";
};
}

View File

@@ -15,24 +15,33 @@
enableIPv6 = true;
# Set up bridge network
interfaces.eno1 = {
useDHCP = false;
};
bridges = {
br0 = { interfaces = [ "eno1" ]; };
};
interfaces.br0 = {
useDHCP = false;
ipv4.addresses = [
{
address = "10.7.43.10";
prefixLength = 24;
}
];
# Set up bridge network
interfaces = {
eno1 = {
useDHCP = false;
wakeOnLan = {
enable = true;
policy = [
"magic"
];
};
};
br0 = {
useDHCP = false;
ipv4.addresses = [
{
address = "10.7.43.10";
prefixLength = 24;
}
];
};
};
defaultGateway = {
address = "10.7.43.30";
interface = "br0";