Compare commits
No commits in common. "ed2aaf9f1522a0462967302d6b1d35f78db60dac" and "acc7057790dd1f0dadbb8707865a13052181792c" have entirely different histories.
ed2aaf9f15
...
acc7057790
|
@ -2,6 +2,7 @@
|
||||||
# Allow unfree applications
|
# Allow unfree applications
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [
|
||||||
|
"spotify"
|
||||||
"keka"
|
"keka"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,10 +5,19 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = map (n: ../../../../home/applications/${n}) [
|
imports = map (n: ../../../../home/applications/${n}) [
|
||||||
|
# Terminal
|
||||||
"alacritty"
|
"alacritty"
|
||||||
"go"
|
|
||||||
"mpv"
|
# Editor
|
||||||
|
"neovim"
|
||||||
|
"vscode"
|
||||||
|
|
||||||
|
# Language
|
||||||
"nix"
|
"nix"
|
||||||
|
"go"
|
||||||
|
|
||||||
|
# Media
|
||||||
|
"mpv"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Install MacOS applications to the user Applications folder. Also update Docked applications
|
# Install MacOS applications to the user Applications folder. Also update Docked applications
|
||||||
|
@ -37,6 +46,15 @@
|
||||||
programs = let
|
programs = let
|
||||||
monospace = "JetBrainsMono Nerd Font";
|
monospace = "JetBrainsMono Nerd Font";
|
||||||
in {
|
in {
|
||||||
alacritty.settings.font.normal.family = monospace;
|
### VSCode
|
||||||
|
vscode.userSettings.editor.fontFamily = monospace;
|
||||||
|
|
||||||
|
### Alacritty
|
||||||
|
alacritty.settings.font = {
|
||||||
|
normal.family = monospace;
|
||||||
|
bold.family = monospace;
|
||||||
|
bold_italic.family = monospace;
|
||||||
|
italic.family = monospace;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
114
flake.lock
|
@ -31,11 +31,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718252558,
|
"lastModified": 1717949587,
|
||||||
"narHash": "sha256-Yph5ocpdI3a1Ib+V9BQ4/0YyO4UVn8J0WeAvOLYGaGk=",
|
"narHash": "sha256-KhLRsmEzycASmaqWnto0YzIbYs8J23jWGhyIkVGNdyE=",
|
||||||
"owner": "berberman",
|
"owner": "berberman",
|
||||||
"repo": "flakes",
|
"repo": "flakes",
|
||||||
"rev": "73949fb5964f243ff9c28887bfc99c2fe12407c3",
|
"rev": "e9b3df34b9727d94116bafb347f9cf10ea9126d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -71,11 +71,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718242063,
|
"lastModified": 1718008439,
|
||||||
"narHash": "sha256-n3AWItJ4a94GT0cray/eUV7tt3mulQ52L+lWJN9d1E8=",
|
"narHash": "sha256-nlh/2uD5p2SAdkn6Zuey20yaR5FFWvhL3poapDGNE4Y=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "832a9f2c81ff3485404bd63952eadc17bf7ccef2",
|
"rev": "c1cfbfad7cb45f0c177b35b59ba67d1b5fc7ca82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -182,11 +182,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718243258,
|
"lastModified": 1717931644,
|
||||||
"narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
|
"narHash": "sha256-Sz8Wh9cAiD5FhL8UWvZxBfnvxETSCVZlqWSYWaCPyu0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
|
"rev": "3d65009effd77cb0d6e7520b68b039836a7606cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -235,11 +235,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718218065,
|
"lastModified": 1717943411,
|
||||||
"narHash": "sha256-fKC7Ryg3AYykDrS2ilS1VqA8/9B2m3yFZcshK+7tIEc=",
|
"narHash": "sha256-43QN3+P7UjAz5ZjjUeYGKAyRfv6BLw7jjdc8Ric/6UQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lanzaboote",
|
"repo": "lanzaboote",
|
||||||
"rev": "7cb05fab896bd542c0ca4260d74d9d664cd7b56e",
|
"rev": "56ed078dc92baf72813d55dcfe399715a632bc41",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -284,11 +284,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718345812,
|
"lastModified": 1717976995,
|
||||||
"narHash": "sha256-FJhA+YFsOFrAYe6EaiTEfomNf7jeURaPiG5/+a3DRSc=",
|
"narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=",
|
||||||
"owner": "LnL7",
|
"owner": "LnL7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "ff988d78f2f55641efacdf9a585d2937f7e32a9b",
|
"rev": "315aa649ba307704db0b16c92f097a08a65ec955",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -364,11 +364,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718401149,
|
"lastModified": 1718055567,
|
||||||
"narHash": "sha256-THXbbmhDZjEnc+372GYl3JpXKkkuo7nhShv66Reklsk=",
|
"narHash": "sha256-5StP3bDRzSFu33v+KA587FQ3IGCTeW8thlJZa9Geq6w=",
|
||||||
"owner": "jacekszymanski",
|
"owner": "jacekszymanski",
|
||||||
"repo": "nixcasks",
|
"repo": "nixcasks",
|
||||||
"rev": "d35924a6bd7c8a34f31e885754a5564ea06ab833",
|
"rev": "ff420cd0735bdc0312135bd4e444d00e70a24d83",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -379,11 +379,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718349360,
|
"lastModified": 1717995329,
|
||||||
"narHash": "sha256-SuPne4BMqh9/IkKIAG47Cu5qfmntAaqlHdX1yuFoDO0=",
|
"narHash": "sha256-lQJXEFHHVsFdFLx0bvoRbZH3IXUBsle6EWj9JroTJ/s=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "ae5c8dcc4d0182d07d75df2dc97112de822cb9d6",
|
"rev": "58b52b0dd191af70f538c707c66c682331cfdffc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -409,11 +409,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718276985,
|
"lastModified": 1718089647,
|
||||||
"narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=",
|
"narHash": "sha256-COO4Xk2EzlZ3x9KCiJildlAA6cYDSPlnY8ms7pKl2Iw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3f84a279f1a6290ce154c5531378acc827836fbb",
|
"rev": "f7207adcc68d9cafa29e3cd252a18743ae512c6a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -441,11 +441,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718229064,
|
"lastModified": 1718060059,
|
||||||
"narHash": "sha256-ZFav8A9zPNfjZg/wrxh1uZeMJHELRfRgFP+meq01XYk=",
|
"narHash": "sha256-9XKFni8VMXo81RTq9XygCyaO3I/7UKpwIlM/yn0MdcM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5c2ec3a5c2ee9909904f860dadc19bc12cd9cc44",
|
"rev": "a3c8d64ba846725f040582b2d3b875466d2115bd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -496,11 +496,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718400242,
|
"lastModified": 1718120696,
|
||||||
"narHash": "sha256-gLX2eyWb8lVxwI5Uv0F5WKb+YwvlDYnI+sSQB2xMqhw=",
|
"narHash": "sha256-zbRgHbpEoYOLoiiYWKk9It+AU0v1zxF65QfEzB4QSH8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "d50ea2706590f0edce9f49d8990dbcf82cdb66ec",
|
"rev": "08af08b78b86c95b2771ff066d6dd4f3feb203c5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -522,11 +522,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718252448,
|
"lastModified": 1713333471,
|
||||||
"narHash": "sha256-xZZBdKqe1ByITzvx65pVgGQ5jeb73MybjgrcfI84lEo=",
|
"narHash": "sha256-sIVQKOXzruxtTYiBRHZa8UQH+CSIa9K5MZlY6vavYfA=",
|
||||||
"owner": "berberman",
|
"owner": "berberman",
|
||||||
"repo": "nvfetcher",
|
"repo": "nvfetcher",
|
||||||
"rev": "fa7609950023462c6f91c425de7610c0bb6b86ba",
|
"rev": "2a824322dc6a755ffda83a13b948d42304521e4d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -594,6 +594,7 @@
|
||||||
"rust-overlay": "rust-overlay",
|
"rust-overlay": "rust-overlay",
|
||||||
"scss-reset": "scss-reset",
|
"scss-reset": "scss-reset",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
|
"spicetify-nix": "spicetify-nix",
|
||||||
"srvos": "srvos",
|
"srvos": "srvos",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
@ -609,11 +610,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718331519,
|
"lastModified": 1718072316,
|
||||||
"narHash": "sha256-6Ru37wS8uec626nHVIh6hSpCYB7eNc3RPFa2U//bhw4=",
|
"narHash": "sha256-p33h73iQ1HkLalCplV5MH0oP3HXRaH3zufnFqb5//ps=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "419e7fae2731f41dd9b3e34dfe8802be68558b92",
|
"rev": "bedc47af18fc41bb7d2edc2b212d59ca36253f59",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -648,11 +649,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718137936,
|
"lastModified": 1718058322,
|
||||||
"narHash": "sha256-psA+1Q5fPaK6yI3vzlLINNtb6EeXj111zQWnZYyJS9c=",
|
"narHash": "sha256-d5jLlAwVi4NzT9yc5UrPiOpDxTRhu8GGh0IIfeFcdrM=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "c279dec105dd53df13a5e57525da97905cc0f0d6",
|
"rev": "d071c74a7de1e26d211b69b6fbae37ae2e31a87f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -661,6 +662,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"spicetify-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1704167711,
|
||||||
|
"narHash": "sha256-kFDq+kf/Di/P8bq5sUP8pVwRkrSVrABksBjMPmLic3s=",
|
||||||
|
"owner": "the-argus",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"rev": "1325416f951d6a82cfddb1289864ad782e2b87c4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "the-argus",
|
||||||
|
"repo": "spicetify-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"srvos": {
|
"srvos": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -668,11 +692,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718239576,
|
"lastModified": 1718036376,
|
||||||
"narHash": "sha256-Afdz9oCQf8VCGXUhI8KxdJg9gc+fepZK//mYsijfhFw=",
|
"narHash": "sha256-6hC1LrzXihZ/Tf7YNvICYUFHH+MvuXvpX8uV0hI5/6s=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "srvos",
|
"repo": "srvos",
|
||||||
"rev": "d6280e5c12c4ddb26f0807387777786c66e4c552",
|
"rev": "4098b95dde07ec1ef75cd2cba1ebdde0576b59f1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -703,11 +727,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718271476,
|
"lastModified": 1717850719,
|
||||||
"narHash": "sha256-35hUMmFesmchb+u7heKHLG5B6c8fBOcSYo0jj0CHLes=",
|
"narHash": "sha256-npYqVg+Wk4oxnWrnVG7416fpfrlRhp/lQ6wQ4DHI8YE=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "e75ba0a6bb562d2ce275db28f6a36a2e4fd81391",
|
"rev": "4fc1c45a5f50169f9f29f6a98a438fb910b834ed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -82,6 +82,11 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
|
inputs.nixpkgs-stable.follows = "nixpkgs-stable";
|
||||||
};
|
};
|
||||||
|
spicetify-nix = {
|
||||||
|
url = "github:the-argus/spicetify-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.flake-utils.follows = "flake-utils";
|
||||||
|
};
|
||||||
srvos = {
|
srvos = {
|
||||||
url = "github:nix-community/srvos";
|
url = "github:nix-community/srvos";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -6,18 +6,8 @@
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
import = [
|
env.WINIT_X11_SCALE_FACTOR = "1"; # workaround for scaling in X11
|
||||||
"${pkgs.vimPlugins.tokyonight-nvim}/extras/alacritty/tokyonight_night.toml"
|
window.option_as_alt = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "Both"; # for zellij on macOS
|
||||||
];
|
|
||||||
|
|
||||||
cursor.style = "beam";
|
|
||||||
font.size = 10;
|
|
||||||
|
|
||||||
# workaround for scaling in X11
|
|
||||||
env.WINIT_X11_SCALE_FACTOR = "1";
|
|
||||||
|
|
||||||
# for zellij on macOS
|
|
||||||
window.option_as_alt = lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "Both";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
50
home/applications/blackbox-terminal/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = [pkgs.blackbox-terminal];
|
||||||
|
|
||||||
|
# classic... dconf
|
||||||
|
dconf.settings."com/raggesilver/BlackBox" = {
|
||||||
|
pretty = false; # "Theme Integration"
|
||||||
|
cursor-shape = lib.hm.gvariant.mkUint32 1; # "line" cursor
|
||||||
|
#show-headerbar = false;
|
||||||
|
terminal-padding = lib.hm.gvariant.mkTuple [
|
||||||
|
(lib.hm.gvariant.mkUint32 12)
|
||||||
|
(lib.hm.gvariant.mkUint32 12)
|
||||||
|
(lib.hm.gvariant.mkUint32 12)
|
||||||
|
(lib.hm.gvariant.mkUint32 12)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: Tokyo Night
|
||||||
|
# Example:
|
||||||
|
#''
|
||||||
|
# {
|
||||||
|
# "name": "Gruvbox for Tilix",
|
||||||
|
# "comment": "Ported for Trilix Colour Scheme",
|
||||||
|
# "use-theme-colors": false,
|
||||||
|
# "foreground-color": "#ebdbb2",
|
||||||
|
# "background-color": "#282828",
|
||||||
|
# "palette": [
|
||||||
|
# "#282829",
|
||||||
|
# "#cc241d",
|
||||||
|
# "#98971a",
|
||||||
|
# "#d79921",
|
||||||
|
# "#458588",
|
||||||
|
# "#b16286",
|
||||||
|
# "#689d6a",
|
||||||
|
# "#a89984",
|
||||||
|
# "#928374",
|
||||||
|
# "#fb4934",
|
||||||
|
# "#b8bb26",
|
||||||
|
# "#fabd2f",
|
||||||
|
# "#83a598",
|
||||||
|
# "#d3869b",
|
||||||
|
# "#8ec07c",
|
||||||
|
# "#ebdbb2"
|
||||||
|
# ]
|
||||||
|
# }
|
||||||
|
#'';
|
||||||
|
}
|
75
home/applications/bspwm/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
imports = [
|
||||||
|
../common/wm.nix
|
||||||
|
../dunst
|
||||||
|
../picom
|
||||||
|
../polybar
|
||||||
|
../rofi
|
||||||
|
../sxhkd
|
||||||
|
../udiskie
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [flameshot feh];
|
||||||
|
|
||||||
|
xsession = {
|
||||||
|
enable = true;
|
||||||
|
windowManager.bspwm = {
|
||||||
|
enable = true;
|
||||||
|
startupPrograms = [
|
||||||
|
"pgrep -x sxhkd > /dev/null || sxhkd"
|
||||||
|
"pgrep -x feh > /dev/null || feh --no-fehbg --bg-fill ~/.local/share/backgrounds/Minato-Aqua-Dark.png"
|
||||||
|
];
|
||||||
|
monitors = {
|
||||||
|
eDP-1 = ["I" "II" "III" "IV" "V" "VI" "VII" "VIII" "IX" "X"];
|
||||||
|
};
|
||||||
|
settings = {
|
||||||
|
border_width = 2;
|
||||||
|
window_gap = 4;
|
||||||
|
focus_follows_pointer = true;
|
||||||
|
split_ratio = 0.52;
|
||||||
|
borderless_monocle = true;
|
||||||
|
gapless_monocle = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".xinitrc".text = ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
userresources=$HOME/.Xresources
|
||||||
|
usermodmap=$HOME/.Xmodmap
|
||||||
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
|
# merge in defaults and keymaps
|
||||||
|
if [ -f $sysresources ]; then
|
||||||
|
xrdb -merge $sysresources
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $sysmodmap ]; then
|
||||||
|
xmodmap $sysmodmap
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$userresources" ]; then
|
||||||
|
xrdb -merge "$userresources"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$usermodmap" ]; then
|
||||||
|
xmodmap "$usermodmap"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# start some nice programs
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||||
|
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
[ -x "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
unset f
|
||||||
|
fi
|
||||||
|
|
||||||
|
# https://wiki.archlinux.org/title/Cursor_themes#Change_X_shaped_default_cursor
|
||||||
|
xsetroot -cursor_name left_ptr
|
||||||
|
|
||||||
|
exec bspwm
|
||||||
|
'';
|
||||||
|
}
|
32
home/applications/chromium/default.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{
|
||||||
|
programs.chromium = {
|
||||||
|
enable = true;
|
||||||
|
#package = pkgs.ungoogled-chromium;
|
||||||
|
# ungoogled-chrome does not work with extensions for now
|
||||||
|
# https://github.com/nix-community/home-manager/issues/2216
|
||||||
|
# https://github.com/nix-community/home-manager/issues/2585
|
||||||
|
extensions = [
|
||||||
|
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
||||||
|
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # sponsorblock
|
||||||
|
{id = "icallnadddjmdinamnolclfjanhfoafe";} # fastforward
|
||||||
|
{id = "dbepggeogbaibhgnhhndojpepiihcmeb";} # vimium
|
||||||
|
{id = "nngceckbapebfimnlniiiahkandclblb";} # bitwarden
|
||||||
|
{id = "gebbhagfogifgggkldgodflihgfeippi";} # return youtube dislike
|
||||||
|
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # dark reader
|
||||||
|
{id = "njdfdhgcmkocbgbhcioffdbicglldapd";} # localcdn
|
||||||
|
{id = "hipekcciheckooncpjeljhnekcoolahp";} # tabliss
|
||||||
|
{id = "bgfofngpplpmpijncjegfdgilpgamhdk";} # modern scrollbar
|
||||||
|
{id = "ajhmfdgkijocedmfjonnpjfojldioehi";} # privacy pass
|
||||||
|
{id = "hkgfoiooedgoejojocmhlaklaeopbecg";} # picture in picture
|
||||||
|
#{id = "fnaicdffflnofjppbagibeoednhnbjhg";} # floccus bookmark sync
|
||||||
|
#{id = "jaoafjdoijdconemdmodhbfpianehlon";} # skip redirect
|
||||||
|
#{id = "dhdgffkkebhmkfjojejmpbldmpobfkfo";} # tampermonkey
|
||||||
|
#{id = "jinjaccalgkegednnccohejagnlnfdag";} # violentmonkey
|
||||||
|
#{id = "kdbmhfkmnlmbkgbabkdealhhbfhlmmon";} # steamdb
|
||||||
|
#{id = "cmeakgjggjdlcpncigglobpjbkabhmjl";} # steam inventory helper
|
||||||
|
#{id = "mgijmajocgfcbeboacabfgobmjgjcoja";} # google dictionary
|
||||||
|
#{id = "kbfnbcaeplbcioakkpcpgfkobkghlhen";} # grammarly
|
||||||
|
#{id = "ekbmhggedfdlajiikminikhcjffbleac";} # 喵喵折+
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
31
home/applications/dunst/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.dunst = {
|
||||||
|
enable = true;
|
||||||
|
settings = lib.mkMerge [
|
||||||
|
{
|
||||||
|
global = {
|
||||||
|
padding = 10;
|
||||||
|
horizontal_padding = 10;
|
||||||
|
frame_width = 2;
|
||||||
|
font = "Monospace 10";
|
||||||
|
icon_path = "/home/guanranwang/.local/share/icons/dunst";
|
||||||
|
corner_radius = 10;
|
||||||
|
|
||||||
|
max_icon_size = 128; # weird bug, default value (128) not working
|
||||||
|
};
|
||||||
|
}
|
||||||
|
(lib.mkIf (config.myFlake.home-manager.colorScheme == "tokyonight")
|
||||||
|
(builtins.fromTOML (builtins.readFile "${pkgs.vimPlugins.tokyonight-nvim}/extras/dunst/tokyonight_night.dunstrc")))
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.dataFile."icons/dunst" = {
|
||||||
|
source = ./dunst;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
}
|
BIN
home/applications/dunst/dunst/battery-alert.png
Normal file
After Width: | Height: | Size: 514 B |
BIN
home/applications/dunst/dunst/battery-charging.png
Normal file
After Width: | Height: | Size: 603 B |
BIN
home/applications/dunst/dunst/battery.png
Normal file
After Width: | Height: | Size: 479 B |
BIN
home/applications/dunst/dunst/volume-high.png
Normal file
After Width: | Height: | Size: 678 B |
BIN
home/applications/dunst/dunst/volume-minus.png
Normal file
After Width: | Height: | Size: 358 B |
BIN
home/applications/dunst/dunst/volume-mute.png
Normal file
After Width: | Height: | Size: 533 B |
BIN
home/applications/dunst/dunst/volume-off.png
Normal file
After Width: | Height: | Size: 760 B |
BIN
home/applications/dunst/dunst/volume-plus.png
Normal file
After Width: | Height: | Size: 380 B |
BIN
home/applications/dunst/dunst/volume-source.png
Normal file
After Width: | Height: | Size: 425 B |
3
home/applications/fastfetch/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.fastfetch];
|
||||||
|
}
|
|
@ -1,9 +1,15 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
set fish_greeting
|
set fish_greeting
|
||||||
source ${pkgs.vimPlugins.tokyonight-nvim}/extras/fish/tokyonight_night.fish
|
${lib.strings.optionalString (config.myFlake.home-manager.colorScheme == "tokyonight")
|
||||||
|
"source ${pkgs.vimPlugins.tokyonight-nvim}/extras/fish/tokyonight_night.fish"}
|
||||||
'';
|
'';
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
|
|
3
home/applications/foot/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
programs.foot.enable = true;
|
||||||
|
}
|
21
home/applications/gnome/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# why is this placed in ./wm
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages =
|
||||||
|
(with pkgs.gnomeExtensions; [
|
||||||
|
# GNOME extensions
|
||||||
|
arcmenu
|
||||||
|
appindicator
|
||||||
|
blur-my-shell
|
||||||
|
caffeine
|
||||||
|
dash-to-panel
|
||||||
|
dash-to-dock
|
||||||
|
gamemode # outdated
|
||||||
|
just-perfection
|
||||||
|
kimpanel
|
||||||
|
])
|
||||||
|
++ (with pkgs.gnome; [
|
||||||
|
gnome-tweaks
|
||||||
|
gnome-software
|
||||||
|
gnome-shell-extensions
|
||||||
|
]);
|
||||||
|
}
|
|
@ -5,11 +5,15 @@
|
||||||
}: {
|
}: {
|
||||||
programs.go.enable = true;
|
programs.go.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
gopls
|
gopls # lsp
|
||||||
delve
|
delve # debugger
|
||||||
go-tools
|
go-tools # linter and static analysis
|
||||||
];
|
];
|
||||||
|
### VSCode
|
||||||
|
programs.vscode.extensions = with pkgs.vscode-extensions; [golang.go];
|
||||||
|
|
||||||
|
# Make Go follow XDG
|
||||||
|
# "$HOME/go"...
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"go/env".text = ''
|
"go/env".text = ''
|
||||||
GOPATH=${config.xdg.cacheHome}/go
|
GOPATH=${config.xdg.cacheHome}/go
|
||||||
|
|
39
home/applications/helix/default.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
# defaultEditor = true;
|
||||||
|
settings = {
|
||||||
|
theme =
|
||||||
|
lib.mkIf (config.myFlake.home-manager.colorScheme == "tokyonight")
|
||||||
|
"tokyonight";
|
||||||
|
editor = {
|
||||||
|
cursor-shape = {
|
||||||
|
insert = "bar";
|
||||||
|
normal = "block";
|
||||||
|
select = "underline";
|
||||||
|
};
|
||||||
|
statusline.mode = {
|
||||||
|
normal = "--NORMAL--";
|
||||||
|
insert = "--INSERT--";
|
||||||
|
select = "--SELECT--";
|
||||||
|
};
|
||||||
|
soft-wrap.enable = true;
|
||||||
|
indent-guides.render = true;
|
||||||
|
file-picker.hidden = false;
|
||||||
|
};
|
||||||
|
# i still use these keybinds sometimes, even its hard to reach
|
||||||
|
keys.insert = {
|
||||||
|
C-left = "move_prev_word_start";
|
||||||
|
C-right = "move_next_word_end";
|
||||||
|
};
|
||||||
|
keys.normal = {
|
||||||
|
C-left = "move_prev_word_start";
|
||||||
|
C-right = "move_next_word_end";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
41
home/applications/hyprland/default.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
#inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
../common/wayland.nix
|
||||||
|
../common/wm.nix
|
||||||
|
../cliphist
|
||||||
|
../dunst
|
||||||
|
../rofi
|
||||||
|
../swayidle
|
||||||
|
../swaylock
|
||||||
|
../swww
|
||||||
|
../udiskie
|
||||||
|
../waybar
|
||||||
|
];
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
QT_IM_MODULE = lib.mkForce "wayland"; # use text-input-v2
|
||||||
|
GTK_IM_MODULE = lib.mkForce "wayland"; # use text-input-v3
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
#plugins = with inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||||
|
# csgo-vulkan-fix
|
||||||
|
#];
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
source = ~/.config/hypr/main.conf
|
||||||
|
source = ~/.config/hypr/keybinds.conf
|
||||||
|
source = ~/.config/hypr/autostart.conf
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."hypr" = {
|
||||||
|
source = ./hypr;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
|
}
|
2
home/applications/hyprland/hypr/autostart.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
exec-once = swww init
|
||||||
|
exec-once = waybar
|
2
home/applications/hyprland/hypr/hyprpaper.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
preload = /usr/share/backgrounds/odin-dark.jpg
|
||||||
|
wallpaper = eDP-1, /usr/share/backgrounds/odin-dark.jpg
|
118
home/applications/hyprland/hypr/keybinds.conf
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
# bind vars
|
||||||
|
$wp = ~/.local/bin/wrapped-swww
|
||||||
|
$dwp = ~/.local/bin/wrapped-mpvpaper
|
||||||
|
$changevolume = ~/.local/bin/wrapped-pamixer
|
||||||
|
$changebrightness = ~/.local/bin/wrapped-brightnessctl
|
||||||
|
$screenshot = ~/.local/bin/screenshot
|
||||||
|
$video_path = ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/workshop/content/431960
|
||||||
|
|
||||||
|
# binds
|
||||||
|
bind = SUPER, return, exec, alacritty
|
||||||
|
bind = SUPER, E, exec, xdg-open ~
|
||||||
|
bind = SUPER, W, exec, xdg-open http:
|
||||||
|
bind = CONTROL SHIFT, Escape, exec, gnome-system-monitor
|
||||||
|
|
||||||
|
bind = ALT, R, exec, zenity --width 500 --entry | wl-copy
|
||||||
|
bind = SUPER, Backspace, exec, swaylock
|
||||||
|
|
||||||
|
bind = SUPER, F, fullscreen, 0
|
||||||
|
bind = SUPER SHIFT, F, fullscreen, 1
|
||||||
|
|
||||||
|
bind = SUPER, Q, killactive
|
||||||
|
bind = CONTROL SUPER SHIFT, Q, exec, hyprctl kill
|
||||||
|
bind = SUPER SHIFT, R, exec, pkill waybar; waybar
|
||||||
|
bind = CONTROL ALT, delete, exit,
|
||||||
|
|
||||||
|
# rofi / application launcher
|
||||||
|
bind = SUPER, D, exec, rofi -show drun -show-icons -icon-theme Tela-dracula-dark
|
||||||
|
bind = SUPER SHIFT, D, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy
|
||||||
|
bind = SUPER, Period, exec, rofi -modi emoji -show emoji
|
||||||
|
bind = SUPER SHIFT, L, exec, rofi -modi "power-menu:rofi-power-menu --confirm=reboot/shutdown" -show power-menu
|
||||||
|
|
||||||
|
# screenshot
|
||||||
|
bind = ,Print, exec, $screenshot fullscreen
|
||||||
|
bind = SUPER SHIFT, S, exec, $screenshot region
|
||||||
|
bind = ALT SHIFT, S, exec, $screenshot swappy
|
||||||
|
|
||||||
|
# wallpaper switching
|
||||||
|
bind = SHIFT ALT, 1, exec, $wp /usr/share/backgrounds/odin.jpg # pkg: elementary-wallpapers
|
||||||
|
bind = SHIFT ALT, 2, exec, $wp /usr/share/backgrounds/odin-dark.jpg
|
||||||
|
bind = SHIFT ALT, 3, exec, $wp ~/.local/share/backgrounds/Mojave\ Night.jpg
|
||||||
|
bind = SHIFT ALT, 4, exec, $wp ~/.local/share/backgrounds/wallpaper2.jpg
|
||||||
|
bind = SHIFT ALT, 5, exec, $wp ~/.local/share/backgrounds/wallpaper3.jpg
|
||||||
|
bind = SHIFT ALT, 6, exec, $wp ~/.local/share/backgrounds/wallpaper1.png # aur: mint-backgrounds
|
||||||
|
# /usr/share/backgrounds/archlinux/simple.png # archlinux-wallpapers
|
||||||
|
# /usr/share/backgrounds/archlinux/small.png
|
||||||
|
|
||||||
|
# video wallpapers from wallpaper engine
|
||||||
|
bind = SHIFT ALT, 7, exec, $dwp $video_path/2292710588/KleeWP.mp4
|
||||||
|
bind = SHIFT ALT, 8, exec, $dwp $video_path/821372791/灵梦.mp4
|
||||||
|
bind = SHIFT ALT, 9, exec, $dwp $video_path/827148653/Gargantua_BGM.mp4
|
||||||
|
bind = SHIFT ALT, 0, exec, $dwp $video_path/1661372823/EP03.mp4
|
||||||
|
bind = SHIFT ALT, Minus, exec, $dwp $video_path/2855732285/彩虹鸭鸭.mp4
|
||||||
|
bind = SHIFT ALT, Backspace, exec, pkill mpvpaper
|
||||||
|
|
||||||
|
# keyboard fn buttons
|
||||||
|
binde = ,XF86MonBrightnessUp, exec, $changebrightness up
|
||||||
|
binde = ,XF86MonBrightnessDown, exec, $changebrightness down
|
||||||
|
binde = ,XF86AudioRaiseVolume, exec, $changevolume up
|
||||||
|
binde = ,XF86AudioLowerVolume, exec, $changevolume down
|
||||||
|
bind = ,XF86AudioMute, exec, $changevolume mute
|
||||||
|
|
||||||
|
bind = ,XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bind = ,XF86AudioPrev, exec, playerctl previous
|
||||||
|
bind = ,XF86AudioNext, exec, playerctl next
|
||||||
|
bind = ,XF86AudioStop, exec, playerctl stop
|
||||||
|
bind = ,XF86AudioMedia, exec, playerctl play-pause
|
||||||
|
|
||||||
|
# window mode
|
||||||
|
bind = SUPER, C, pseudo # dwindle
|
||||||
|
bind = SUPER, S, togglesplit # dwindle
|
||||||
|
bind = SUPER, V, togglefloating
|
||||||
|
|
||||||
|
# window size
|
||||||
|
binde = SUPER, Minus, splitratio, -0.1
|
||||||
|
binde = SUPER, Equal, splitratio, 0.1
|
||||||
|
|
||||||
|
# move window focus
|
||||||
|
bind = SUPER, H, movefocus, l
|
||||||
|
bind = SUPER, J, movefocus, d
|
||||||
|
bind = SUPER, K, movefocus, u
|
||||||
|
bind = SUPER, L, movefocus, r
|
||||||
|
|
||||||
|
bind = SUPER, left, movefocus, l
|
||||||
|
bind = SUPER, right, movefocus, r
|
||||||
|
bind = SUPER, up, movefocus, u
|
||||||
|
bind = SUPER, down, movefocus, d
|
||||||
|
|
||||||
|
bind = SUPER, Tab, cyclenext # change focus to another window
|
||||||
|
bind = SUPER, Tab, bringactivetotop # bring it to the top
|
||||||
|
|
||||||
|
# workspaces binds
|
||||||
|
bind = SUPER, 1, workspace, 1
|
||||||
|
bind = SUPER, 2, workspace, 2
|
||||||
|
bind = SUPER, 3, workspace, 3
|
||||||
|
bind = SUPER, 4, workspace, 4
|
||||||
|
bind = SUPER, 5, workspace, 5
|
||||||
|
bind = SUPER, 6, workspace, 6
|
||||||
|
bind = SUPER, 7, workspace, 7
|
||||||
|
bind = SUPER, 8, workspace, 8
|
||||||
|
bind = SUPER, 9, workspace, 9
|
||||||
|
bind = SUPER, 0, workspace, 10
|
||||||
|
|
||||||
|
bind = SUPER SHIFT, 1, movetoworkspacesilent, 1
|
||||||
|
bind = SUPER SHIFT, 2, movetoworkspacesilent, 2
|
||||||
|
bind = SUPER SHIFT, 3, movetoworkspacesilent, 3
|
||||||
|
bind = SUPER SHIFT, 4, movetoworkspacesilent, 4
|
||||||
|
bind = SUPER SHIFT, 5, movetoworkspacesilent, 5
|
||||||
|
bind = SUPER SHIFT, 6, movetoworkspacesilent, 6
|
||||||
|
bind = SUPER SHIFT, 7, movetoworkspacesilent, 7
|
||||||
|
bind = SUPER SHIFT, 8, movetoworkspacesilent, 8
|
||||||
|
bind = SUPER SHIFT, 9, movetoworkspacesilent, 9
|
||||||
|
bind = SUPER SHIFT, 0, movetoworkspacesilent, 10
|
||||||
|
|
||||||
|
# mouse binds
|
||||||
|
bind = SUPER, mouse_down, workspace, e-1 # scroll wheels
|
||||||
|
bind = SUPER, mouse_up, workspace, e+1
|
||||||
|
bindm = SUPER, mouse:272, movewindow # left click
|
||||||
|
bindm = SUPER, mouse:273, resizewindow # right click
|
80
home/applications/hyprland/hypr/main.conf
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
# Display settings
|
||||||
|
monitor = ,preferred, auto, 1
|
||||||
|
monitor = eDP-1, 1920x1080@60, 0x0, 1.25 # laptop screen eDP-1
|
||||||
|
|
||||||
|
# General settings
|
||||||
|
general {
|
||||||
|
gaps_in = 4
|
||||||
|
gaps_out = 8 # dont forget to change waybar margin
|
||||||
|
border_size = 2
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# Decorations
|
||||||
|
decoration {
|
||||||
|
blur {
|
||||||
|
size = 4
|
||||||
|
passes = 4
|
||||||
|
}
|
||||||
|
rounding = 4
|
||||||
|
shadow_range = 50
|
||||||
|
shadow_render_power = 5
|
||||||
|
col.shadow = 0x88000000
|
||||||
|
col.shadow_inactive = 0x44000000
|
||||||
|
}
|
||||||
|
|
||||||
|
# Animations
|
||||||
|
animations {
|
||||||
|
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||||
|
bezier = easeOutQuint, 0.22, 1, 0.36, 1
|
||||||
|
animation = windows, 1, 6, default, popin
|
||||||
|
animation = fade, 1, 8, default
|
||||||
|
animation = border, 1, 8, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = workspaces, 1, 4, default
|
||||||
|
}
|
||||||
|
|
||||||
|
# Input settings
|
||||||
|
input {
|
||||||
|
accel_profile = flat
|
||||||
|
#force_no_accel = false
|
||||||
|
natural_scroll = true
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = true
|
||||||
|
disable_while_typing = false
|
||||||
|
drag_lock = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# idk
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true
|
||||||
|
preserve_split = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Touchpad gestures
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = true # touchpad swipe to switch workspaces
|
||||||
|
workspace_swipe_distance = 600 # doubles gesture distance
|
||||||
|
}
|
||||||
|
|
||||||
|
# XWayland
|
||||||
|
XWayland {
|
||||||
|
#use_nearest_neighbor = false
|
||||||
|
force_zero_scaling = true
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
disable_splash_rendering = true
|
||||||
|
animate_manual_resizes = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Windows rules
|
||||||
|
windowrule = float, ^(pwvucontrol)$
|
||||||
|
windowrule = float, ^(org.gnome.Calculator)$
|
||||||
|
|
||||||
|
# Layer rules
|
||||||
|
layerrule = blur, notifications
|
||||||
|
layerrule = blur, rofi
|
||||||
|
layerrule = ignorezero, notifications
|
10
home/applications/hyprland/hypr/themes/colors.conf
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# i dont actually know how did i get this color scheme
|
||||||
|
|
||||||
|
general {
|
||||||
|
#col.active_border = rgba(60C4F1FF) rgba(9F9BABFF) rgba(A2AECFFF) 45deg
|
||||||
|
#col.active_border = rgba(222222FF)
|
||||||
|
col.active_border = rgba(C0CAF5FF)
|
||||||
|
#col.inactive_border = rgba(60C4F166)
|
||||||
|
#col.inactive_border = rgba(222222FF)
|
||||||
|
col.inactive_border = rgba(414868FF)
|
||||||
|
}
|
61
home/applications/hyprland/hypr/themes/frappe.conf
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
$rosewaterAlpha = f2d5cf
|
||||||
|
$flamingoAlpha = eebebe
|
||||||
|
$pinkAlpha = f4b8e4
|
||||||
|
$mauveAlpha = ca9ee6
|
||||||
|
$redAlpha = e78284
|
||||||
|
$maroonAlpha = ea999c
|
||||||
|
$peachAlpha = ef9f76
|
||||||
|
$yellowAlpha = e5c890
|
||||||
|
$greenAlpha = a6d189
|
||||||
|
$tealAlpha = 81c8be
|
||||||
|
$skyAlpha = 99d1db
|
||||||
|
$sapphireAlpha = 85c1dc
|
||||||
|
$blueAlpha = 8caaee
|
||||||
|
$lavenderAlpha = babbf1
|
||||||
|
|
||||||
|
$textAlpha = c6d0f5
|
||||||
|
$subtext1Alpha = b5bfe2
|
||||||
|
$subtext0Alpha = a5adce
|
||||||
|
|
||||||
|
$overlay2Alpha = 949cbb
|
||||||
|
$overlay1Alpha = 838ba7
|
||||||
|
$overlay0Alpha = 737994
|
||||||
|
|
||||||
|
$surface2Alpha = 626880
|
||||||
|
$surface1Alpha = 51576d
|
||||||
|
$surface0Alpha = 414559
|
||||||
|
|
||||||
|
$baseAlpha = 303446
|
||||||
|
$mantleAlpha = 292c3c
|
||||||
|
$crustAlpha = 232634
|
||||||
|
|
||||||
|
$rosewater = 0xfff5e0dc
|
||||||
|
$flamingo = 0xfff2cdcd
|
||||||
|
$pink = 0xfff5c2e7
|
||||||
|
$mauve = 0xffcba6f7
|
||||||
|
$red = 0xfff38ba8
|
||||||
|
$maroon = 0xffeba0ac
|
||||||
|
$peach = 0xfffab387
|
||||||
|
$yellow = 0xfff9e2af
|
||||||
|
$green = 0xffa6e3a1
|
||||||
|
$teal = 0xff94e2d5
|
||||||
|
$sky = 0xff89dceb
|
||||||
|
$sapphire = 0xff74c7ec
|
||||||
|
$blue = 0xff89b4fa
|
||||||
|
$lavender = 0xffb4befe
|
||||||
|
|
||||||
|
$text = 0xffcdd6f4
|
||||||
|
$subtext1 = 0xffbac2de
|
||||||
|
$subtext0 = 0xffa6adc8
|
||||||
|
|
||||||
|
$overlay2 = 0xff9399b2
|
||||||
|
$overlay1 = 0xff7f849c
|
||||||
|
$overlay0 = 0xff6c7086
|
||||||
|
|
||||||
|
$surface2 = 0xff585b70
|
||||||
|
$surface1 = 0xff45475a
|
||||||
|
$surface0 = 0xff313244
|
||||||
|
|
||||||
|
$base = 0xff1e1e2e
|
||||||
|
$mantle = 0xff181825
|
||||||
|
$crust = 0xff11111b
|
61
home/applications/hyprland/hypr/themes/latte.conf
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
$rosewaterAlpha = dc8a78
|
||||||
|
$flamingoAlpha = dd7878
|
||||||
|
$pinkAlpha = ea76cb
|
||||||
|
$mauveAlpha = 8839ef
|
||||||
|
$redAlpha = d20f39
|
||||||
|
$maroonAlpha = e64553
|
||||||
|
$peachAlpha = fe640b
|
||||||
|
$yellowAlpha = df8e1d
|
||||||
|
$greenAlpha = 40a02b
|
||||||
|
$tealAlpha = 179299
|
||||||
|
$skyAlpha = 04a5e5
|
||||||
|
$sapphireAlpha = 209fb5
|
||||||
|
$blueAlpha = 1e66f5
|
||||||
|
$lavenderAlpha = 7287fd
|
||||||
|
|
||||||
|
$textAlpha = 4c4f69
|
||||||
|
$subtext1Alpha = 5c5f77
|
||||||
|
$subtext0Alpha = 6c6f85
|
||||||
|
|
||||||
|
$overlay2Alpha = 7c7f93
|
||||||
|
$overlay1Alpha = 8c8fa1
|
||||||
|
$overlay0Alpha = 9ca0b0
|
||||||
|
|
||||||
|
$surface2Alpha = acb0be
|
||||||
|
$surface1Alpha = bcc0cc
|
||||||
|
$surface0Alpha = ccd0da
|
||||||
|
|
||||||
|
$baseAlpha = eff1f5
|
||||||
|
$mantleAlpha = e6e9ef
|
||||||
|
$crustAlpha = dce0e8
|
||||||
|
|
||||||
|
$rosewater = 0xfff5e0dc
|
||||||
|
$flamingo = 0xfff2cdcd
|
||||||
|
$pink = 0xfff5c2e7
|
||||||
|
$mauve = 0xffcba6f7
|
||||||
|
$red = 0xfff38ba8
|
||||||
|
$maroon = 0xffeba0ac
|
||||||
|
$peach = 0xfffab387
|
||||||
|
$yellow = 0xfff9e2af
|
||||||
|
$green = 0xffa6e3a1
|
||||||
|
$teal = 0xff94e2d5
|
||||||
|
$sky = 0xff89dceb
|
||||||
|
$sapphire = 0xff74c7ec
|
||||||
|
$blue = 0xff89b4fa
|
||||||
|
$lavender = 0xffb4befe
|
||||||
|
|
||||||
|
$text = 0xffcdd6f4
|
||||||
|
$subtext1 = 0xffbac2de
|
||||||
|
$subtext0 = 0xffa6adc8
|
||||||
|
|
||||||
|
$overlay2 = 0xff9399b2
|
||||||
|
$overlay1 = 0xff7f849c
|
||||||
|
$overlay0 = 0xff6c7086
|
||||||
|
|
||||||
|
$surface2 = 0xff585b70
|
||||||
|
$surface1 = 0xff45475a
|
||||||
|
$surface0 = 0xff313244
|
||||||
|
|
||||||
|
$base = 0xff1e1e2e
|
||||||
|
$mantle = 0xff181825
|
||||||
|
$crust = 0xff11111b
|
61
home/applications/hyprland/hypr/themes/macchiato.conf
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
$rosewaterAlpha = f4dbd6
|
||||||
|
$flamingoAlpha = f0c6c6
|
||||||
|
$pinkAlpha = f5bde6
|
||||||
|
$mauveAlpha = c6a0f6
|
||||||
|
$redAlpha = ed8796
|
||||||
|
$maroonAlpha = ee99a0
|
||||||
|
$peachAlpha = f5a97f
|
||||||
|
$yellowAlpha = eed49f
|
||||||
|
$greenAlpha = a6da95
|
||||||
|
$tealAlpha = 8bd5ca
|
||||||
|
$skyAlpha = 91d7e3
|
||||||
|
$sapphireAlpha = 7dc4e4
|
||||||
|
$blueAlpha = 8aadf4
|
||||||
|
$lavenderAlpha = b7bdf8
|
||||||
|
|
||||||
|
$textAlpha = cad3f5
|
||||||
|
$subtext1Alpha = b8c0e0
|
||||||
|
$subtext0Alpha = a5adcb
|
||||||
|
|
||||||
|
$overlay2Alpha = 939ab7
|
||||||
|
$overlay1Alpha = 8087a2
|
||||||
|
$overlay0Alpha = 6e738d
|
||||||
|
|
||||||
|
$surface2Alpha = 5b6078
|
||||||
|
$surface1Alpha = 494d64
|
||||||
|
$surface0Alpha = 363a4f
|
||||||
|
|
||||||
|
$baseAlpha = 24273a
|
||||||
|
$mantleAlpha = 1e2030
|
||||||
|
$crustAlpha = 181926
|
||||||
|
|
||||||
|
$rosewater = 0xfff5e0dc
|
||||||
|
$flamingo = 0xfff2cdcd
|
||||||
|
$pink = 0xfff5c2e7
|
||||||
|
$mauve = 0xffcba6f7
|
||||||
|
$red = 0xfff38ba8
|
||||||
|
$maroon = 0xffeba0ac
|
||||||
|
$peach = 0xfffab387
|
||||||
|
$yellow = 0xfff9e2af
|
||||||
|
$green = 0xffa6e3a1
|
||||||
|
$teal = 0xff94e2d5
|
||||||
|
$sky = 0xff89dceb
|
||||||
|
$sapphire = 0xff74c7ec
|
||||||
|
$blue = 0xff89b4fa
|
||||||
|
$lavender = 0xffb4befe
|
||||||
|
|
||||||
|
$text = 0xffcdd6f4
|
||||||
|
$subtext1 = 0xffbac2de
|
||||||
|
$subtext0 = 0xffa6adc8
|
||||||
|
|
||||||
|
$overlay2 = 0xff9399b2
|
||||||
|
$overlay1 = 0xff7f849c
|
||||||
|
$overlay0 = 0xff6c7086
|
||||||
|
|
||||||
|
$surface2 = 0xff585b70
|
||||||
|
$surface1 = 0xff45475a
|
||||||
|
$surface0 = 0xff313244
|
||||||
|
|
||||||
|
$base = 0xff1e1e2e
|
||||||
|
$mantle = 0xff181825
|
||||||
|
$crust = 0xff11111b
|
61
home/applications/hyprland/hypr/themes/mocha.conf
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
$rosewaterAlpha = f5e0dc
|
||||||
|
$flamingoAlpha = f2cdcd
|
||||||
|
$pinkAlpha = f5c2e7
|
||||||
|
$mauveAlpha = cba6f7
|
||||||
|
$redAlpha = f38ba8
|
||||||
|
$maroonAlpha = eba0ac
|
||||||
|
$peachAlpha = fab387
|
||||||
|
$yellowAlpha = f9e2af
|
||||||
|
$greenAlpha = a6e3a1
|
||||||
|
$tealAlpha = 94e2d5
|
||||||
|
$skyAlpha = 89dceb
|
||||||
|
$sapphireAlpha = 74c7ec
|
||||||
|
$blueAlpha = 89b4fa
|
||||||
|
$lavenderAlpha = b4befe
|
||||||
|
|
||||||
|
$textAlpha = cdd6f4
|
||||||
|
$subtext1Alpha = bac2de
|
||||||
|
$subtext0Alpha = a6adc8
|
||||||
|
|
||||||
|
$overlay2Alpha = 9399b2
|
||||||
|
$overlay1Alpha = 7f849c
|
||||||
|
$overlay0Alpha = 6c7086
|
||||||
|
|
||||||
|
$surface2Alpha = 585b70
|
||||||
|
$surface1Alpha = 45475a
|
||||||
|
$surface0Alpha = 313244
|
||||||
|
|
||||||
|
$baseAlpha = 1e1e2e
|
||||||
|
$mantleAlpha = 181825
|
||||||
|
$crustAlpha = 11111b
|
||||||
|
|
||||||
|
$rosewater = 0xfff5e0dc
|
||||||
|
$flamingo = 0xfff2cdcd
|
||||||
|
$pink = 0xfff5c2e7
|
||||||
|
$mauve = 0xffcba6f7
|
||||||
|
$red = 0xfff38ba8
|
||||||
|
$maroon = 0xffeba0ac
|
||||||
|
$peach = 0xfffab387
|
||||||
|
$yellow = 0xfff9e2af
|
||||||
|
$green = 0xffa6e3a1
|
||||||
|
$teal = 0xff94e2d5
|
||||||
|
$sky = 0xff89dceb
|
||||||
|
$sapphire = 0xff74c7ec
|
||||||
|
$blue = 0xff89b4fa
|
||||||
|
$lavender = 0xffb4befe
|
||||||
|
|
||||||
|
$text = 0xffcdd6f4
|
||||||
|
$subtext1 = 0xffbac2de
|
||||||
|
$subtext0 = 0xffa6adc8
|
||||||
|
|
||||||
|
$overlay2 = 0xff9399b2
|
||||||
|
$overlay1 = 0xff7f849c
|
||||||
|
$overlay0 = 0xff6c7086
|
||||||
|
|
||||||
|
$surface2 = 0xff585b70
|
||||||
|
$surface1 = 0xff45475a
|
||||||
|
$surface0 = 0xff313244
|
||||||
|
|
||||||
|
$base = 0xff1e1e2e
|
||||||
|
$mantle = 0xff181825
|
||||||
|
$crust = 0xff11111b
|
6
home/applications/kitty/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
settings.confirm_os_window_close = 0;
|
||||||
|
};
|
||||||
|
}
|
36
home/applications/librewolf/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
_: {
|
||||||
|
programs.librewolf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# https://codeberg.org/librewolf/settings/src/branch/master/librewolf.cfg
|
||||||
|
# https://github.com/yokoffing/Betterfox/blob/main/librewolf.overrides.cfg
|
||||||
|
|
||||||
|
### Restore disabled functions
|
||||||
|
"browser.cache.disk.enable" = true;
|
||||||
|
"identity.fxaccounts.enabled" = true;
|
||||||
|
"media.eme.enabled" = true;
|
||||||
|
"privacy.donottrackheader.enabled" = false;
|
||||||
|
"privacy.globalprivacycontrol.enabled" = false;
|
||||||
|
"privacy.resistFingerprinting" = false;
|
||||||
|
"privacy.sanitize.sanitizeOnShutdown" = false;
|
||||||
|
"security.OCSP.enabled" = 0;
|
||||||
|
"security.OCSP.require" = false;
|
||||||
|
"security.pki.crlite_mode" = 2;
|
||||||
|
"webgl.disabled" = false;
|
||||||
|
|
||||||
|
### Smooth scrolling
|
||||||
|
"apz.overscroll.enabled" = true;
|
||||||
|
"general.smoothScroll" = true;
|
||||||
|
"general.smoothScroll.msdPhysics.enabled" = true;
|
||||||
|
"general.smoothScroll.msdPhysics.motionBeginSpringConstant" = 600;
|
||||||
|
"mousewheel.default.delta_multiplier_y" = 75;
|
||||||
|
|
||||||
|
### Misc
|
||||||
|
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
MOZ_USE_XINPUT2 = "1";
|
||||||
|
};
|
||||||
|
}
|
3
home/applications/loupe/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.loupe];
|
||||||
|
}
|
|
@ -23,4 +23,17 @@
|
||||||
# for `nh`
|
# for `nh`
|
||||||
# yes, i know, weird and long path
|
# yes, i know, weird and long path
|
||||||
home.sessionVariables.FLAKE = "/home/guanranwang/Documents/Projects/git-repos/github.com/Guanran928/flake";
|
home.sessionVariables.FLAKE = "/home/guanranwang/Documents/Projects/git-repos/github.com/Guanran928/flake";
|
||||||
|
|
||||||
|
### VSCode
|
||||||
|
programs.vscode = {
|
||||||
|
extensions = [pkgs.vscode-extensions.jnoortheen.nix-ide];
|
||||||
|
userSettings.nix = {
|
||||||
|
enableLanguageServer = true;
|
||||||
|
serverPath = "nil";
|
||||||
|
serverSettings.nil = {
|
||||||
|
formatting.command = ["alejandra"];
|
||||||
|
nix.flake.autoArchive = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
47
home/applications/picom/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{config, ...}: {
|
||||||
|
services.picom = {
|
||||||
|
enable = true;
|
||||||
|
package = config.nur.repos.guanran928.picom-ft-labs;
|
||||||
|
settings = {
|
||||||
|
# Animations
|
||||||
|
animations = true;
|
||||||
|
animation-for-open-window = "zoom";
|
||||||
|
animation-for-unmap-window = "squeeze";
|
||||||
|
animation-for-transient-window = "slide-down";
|
||||||
|
|
||||||
|
# Blur
|
||||||
|
blur-method = "dual_kawase";
|
||||||
|
blur-strength = 10;
|
||||||
|
blur-background-exclude = [
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Corners
|
||||||
|
corner-radius = 12;
|
||||||
|
rounded-corners-exclude = [
|
||||||
|
"class_g = 'Polybar'"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Opacity
|
||||||
|
opacity-rule = [
|
||||||
|
"100:_NET_WM_STATE@:32a = '_NET_WM_STATE_FULLSCREEN'"
|
||||||
|
"90:class_g = 'Polybar'"
|
||||||
|
"90:class_g = 'Rofi'"
|
||||||
|
"90:class_g = 'Alacritty'"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Shadow
|
||||||
|
shadow = true;
|
||||||
|
shadow-exclude = [
|
||||||
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
backend = "glx";
|
||||||
|
glx-no-rebind-pixmap = true;
|
||||||
|
glx-no-stencil = true;
|
||||||
|
vsync = true;
|
||||||
|
unredir-if-possible = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
177
home/applications/polybar/default.nix
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
{
|
||||||
|
services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
script = "polybar bar";
|
||||||
|
config = {
|
||||||
|
colors = {
|
||||||
|
base = "#1e1e2e";
|
||||||
|
mantle = "#181825";
|
||||||
|
crust = "#cc11111b";
|
||||||
|
|
||||||
|
text = "#cdd6f4";
|
||||||
|
subtext0 = "#a6adc8";
|
||||||
|
subtext1 = "#bac2de";
|
||||||
|
|
||||||
|
surface0 = "#313244";
|
||||||
|
surface1 = "#45475a";
|
||||||
|
surface2 = "#585b70";
|
||||||
|
|
||||||
|
overlay0 = "#6c7086";
|
||||||
|
overlay1 = "#7f849c";
|
||||||
|
overlay2 = "#9399b2";
|
||||||
|
|
||||||
|
blue = "#89b4fa";
|
||||||
|
lavender = "#b4befe";
|
||||||
|
sapphire = "#74c7ec";
|
||||||
|
sky = "#89dceb";
|
||||||
|
teal = "#94e2d5";
|
||||||
|
green = "#a6e3a1";
|
||||||
|
yellow = "#f9e2af";
|
||||||
|
peach = "#fab387";
|
||||||
|
maroon = "#eba0ac";
|
||||||
|
red = "#f38ba8";
|
||||||
|
mauve = "#cba6f7";
|
||||||
|
pink = "#f5c2e7";
|
||||||
|
flamingo = "#f2cdcd";
|
||||||
|
rosewater = "#f5e0dc";
|
||||||
|
|
||||||
|
transparent = "#FF00";
|
||||||
|
};
|
||||||
|
|
||||||
|
"bar/main" = {
|
||||||
|
width = "100%";
|
||||||
|
height = 30;
|
||||||
|
offset-y = 0;
|
||||||
|
top = true;
|
||||||
|
fixed-center = true;
|
||||||
|
|
||||||
|
wm-restack = "bspwm";
|
||||||
|
override-redirect = false;
|
||||||
|
|
||||||
|
scroll-up = "next";
|
||||||
|
scroll-down = "prev";
|
||||||
|
|
||||||
|
enable-ipc = true;
|
||||||
|
|
||||||
|
background = "\${colors.crust}";
|
||||||
|
foreground = "\${colors.text}";
|
||||||
|
|
||||||
|
font-0 = "JetBrainsMono Nerd Font:style=Bold:size=10;2";
|
||||||
|
font-1 = "Source Han Sans CN:size=10;2";
|
||||||
|
|
||||||
|
modules-left = "bspwm";
|
||||||
|
modules-center = "title";
|
||||||
|
modules-right = "pulseaudio battery date";
|
||||||
|
|
||||||
|
tray-position = "right";
|
||||||
|
|
||||||
|
cursor-click = "pointer";
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
screenchange-reload = true;
|
||||||
|
format-padding = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/nowplaying" = {
|
||||||
|
type = "custom/script";
|
||||||
|
tail = true;
|
||||||
|
interval = 1;
|
||||||
|
format = " <label>";
|
||||||
|
exec = "playerctl metadata --format \"{{ artist }} - {{ title }}\"";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/battery" = {
|
||||||
|
type = "internal/battery";
|
||||||
|
battery = "BAT0";
|
||||||
|
adapter = "ADP1";
|
||||||
|
full-at = 98;
|
||||||
|
low-at = 30;
|
||||||
|
format-full-prefix = "";
|
||||||
|
format-full = "<label-charging>";
|
||||||
|
format-charging-prefix = "";
|
||||||
|
format-charging = "<label-charging>";
|
||||||
|
label-charging = "%percentage:2%%";
|
||||||
|
label-charging-padding = 1;
|
||||||
|
format-discharging = "<ramp-capacity> <label-discharging>";
|
||||||
|
label-discharging = "%percentage%%";
|
||||||
|
label-discharging-padding = 1;
|
||||||
|
ramp-capacity-0 = "";
|
||||||
|
ramp-capacity-1 = "";
|
||||||
|
ramp-capacity-2 = "";
|
||||||
|
ramp-capacity-3 = "";
|
||||||
|
ramp-capacity-4 = "";
|
||||||
|
ramp-capacity-5 = "";
|
||||||
|
ramp-capacity-5-weight = 2;
|
||||||
|
format-low = "<ramp-capacity> <label-low>";
|
||||||
|
label-low-padding = 1;
|
||||||
|
label-low-foreground = "\${colors.red}";
|
||||||
|
poll-interval = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/bspwm" = {
|
||||||
|
type = "internal/bspwm";
|
||||||
|
|
||||||
|
format = "<label-state> <label-mode>";
|
||||||
|
|
||||||
|
label-focused = "%name%";
|
||||||
|
label-focused-foreground = "\${colors.text}";
|
||||||
|
label-focused-padding = 1;
|
||||||
|
|
||||||
|
label-occupied = "%name%";
|
||||||
|
label-occupied-foreground = "\${colors.overlay0}";
|
||||||
|
label-occupied-padding = 1;
|
||||||
|
|
||||||
|
label-urgent = "%name%";
|
||||||
|
label-urgent-foreground = "\${colors.red}";
|
||||||
|
label-urgent-padding = 1;
|
||||||
|
|
||||||
|
label-empty = "%name%";
|
||||||
|
label-empty-foreground = "\${colors.surface0}";
|
||||||
|
label-empty-padding = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/date" = {
|
||||||
|
type = "internal/date";
|
||||||
|
interval = 1;
|
||||||
|
|
||||||
|
time = "%a, %b %d %H:%M";
|
||||||
|
|
||||||
|
format = "<label>";
|
||||||
|
format-padding = 1;
|
||||||
|
format-prefix = "%{T5}%{T-}";
|
||||||
|
label = "%{T1}%time%%{T-}";
|
||||||
|
label-padding = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/pulseaudio" = {
|
||||||
|
type = "internal/pulseaudio";
|
||||||
|
use-ui-max = false;
|
||||||
|
|
||||||
|
format-volume = "<label-volume>";
|
||||||
|
format-volume-prefix = "%{T4}%{T-}";
|
||||||
|
label-volume = "%{T1}%percentage%%%{T-}";
|
||||||
|
label-volume-padding = 1;
|
||||||
|
|
||||||
|
format-muted = "<label-muted>";
|
||||||
|
format-muted-prefix = "";
|
||||||
|
label-muted = "%{T1}%percentage%%%{T-}";
|
||||||
|
label-muted-padding = 1;
|
||||||
|
|
||||||
|
click-right = "pwvucontrol&";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/title" = {
|
||||||
|
type = "internal/xwindow";
|
||||||
|
format = "<label>";
|
||||||
|
format-padding = 4;
|
||||||
|
|
||||||
|
label = "%title%";
|
||||||
|
label-maxlen = 50;
|
||||||
|
|
||||||
|
label-empty = "Empty";
|
||||||
|
label-empty-foreground = "#707880";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
3
home/applications/spotify/default.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = [pkgs.spotify];
|
||||||
|
}
|
19
home/applications/spotify/spicetify.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
spicePkgs = inputs.spicetify-nix.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||||
|
in {
|
||||||
|
# import the flake's module for your system
|
||||||
|
imports = [inputs.spicetify-nix.homeManagerModule];
|
||||||
|
|
||||||
|
# configure spicetify :)
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
|
adblock
|
||||||
|
keyboardShortcut
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,10 +1,20 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = lib.importTOML "${pkgs.starship}/share/starship/presets/nerd-font-symbols.toml";
|
settings =
|
||||||
|
{
|
||||||
|
#add_newline = false;
|
||||||
|
#line_break.disabled = true;
|
||||||
|
|
||||||
|
#character = {
|
||||||
|
# success_symbol = "[>](bold green)";
|
||||||
|
# error_symbol = "[>](bold red)";
|
||||||
|
# vimcmd_symbol = "[<](bold green)";
|
||||||
|
# vimcmd_replace_one_symbol = "[<](bold purple)";
|
||||||
|
# vimcmd_replace_symbol = "[<](bold purple)";
|
||||||
|
# vimcmd_visual_symbol = "[<](bold yellow)";
|
||||||
|
#};
|
||||||
|
}
|
||||||
|
// (builtins.fromTOML (builtins.readFile "${pkgs.starship}/share/starship/presets/nerd-font-symbols.toml"));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
../common/wayland.nix
|
||||||
|
../common/wm.nix
|
||||||
../i3status-rust
|
../i3status-rust
|
||||||
../mako
|
../mako
|
||||||
../rofi
|
../rofi
|
||||||
|
@ -13,20 +15,6 @@
|
||||||
../swaylock
|
../swaylock
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
NIXOS_OZONE_WL = "1"; # let electron applications use wayland
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
wl-clipboard
|
|
||||||
pwvucontrol
|
|
||||||
];
|
|
||||||
|
|
||||||
# remove csd window buttons
|
|
||||||
# https://github.com/localsend/localsend/blob/2457acd8a7412723b174672d174e4853dccd7d99/app/linux/my_application.cc#L45
|
|
||||||
home.sessionVariables.GTK_CSD = 0;
|
|
||||||
dconf.settings."org/gnome/desktop/wm/preferences"."button-layout" = "icon,appmenu:";
|
|
||||||
|
|
||||||
services.cliphist.enable = true;
|
services.cliphist.enable = true;
|
||||||
services.udiskie.enable = true;
|
services.udiskie.enable = true;
|
||||||
|
|
||||||
|
|
75
home/applications/sxhkd/default.nix
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
{
|
||||||
|
services.sxhkd = {
|
||||||
|
enable = true;
|
||||||
|
keybindings = {
|
||||||
|
#
|
||||||
|
# wm independent hotkeys
|
||||||
|
#
|
||||||
|
"super + Return" = "alacritty"; # terminal emulator
|
||||||
|
"super + e" = "xdg-open ~"; # file manager
|
||||||
|
"super + w" = "xdg-open http://"; # browser
|
||||||
|
"super + d" = "rofi -show drun -show-icons -icon-theme Tela-dracula-dark"; # program launcher
|
||||||
|
"super + shift + s" = "flameshot gui"; # flameshot
|
||||||
|
"super + BackSpace" = "betterlockscreen -l";
|
||||||
|
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
"super + shift + r" = "bspc wm -r;pkill -USR1 -x sxhkd"; # reload bspwm
|
||||||
|
"control + alt + Delete" = "bspc quit"; # quit bspwm
|
||||||
|
"super + q" = "bspc node -c"; # close window
|
||||||
|
"super + m" = "bspc desktop -l next"; # wtf is this; # alternate between the tiled and monocle layout
|
||||||
|
"super + y" = "bspc node newest.marked.local -n newest.!automatic.local"; # wtf is this; # send the newest marked node to the newest preselected node
|
||||||
|
"super + g" = "bspc node -s biggest.window"; # wtf is this; # swap the current node and the biggest window
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
"super + {a,shift + a,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}"; # set the window state
|
||||||
|
"super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}"; # huh; # set the node flags
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
"super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}"; # focus the node in the given direction
|
||||||
|
"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}"; # focus the node for the given path jump
|
||||||
|
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window"; # focus the next/previous window in the current desktop
|
||||||
|
"super + bracket{left,right}" = "bspc desktop -f {prev,next}.local"; # focus the next/previous desktop in the current monitor
|
||||||
|
"super + {grave,Tab}" = "bspc {node,desktop} -f last"; # focus the last node/desktop
|
||||||
|
"super + {o,i}" = "bspc wm -h off; bspc node {older,newer} -f; bspc wm -h on"; # focus the older or newer node in the focus history
|
||||||
|
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,10}'"; # focus or send to the given desktop
|
||||||
|
|
||||||
|
#
|
||||||
|
# preselect
|
||||||
|
#
|
||||||
|
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}"; # preselect the direction
|
||||||
|
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}"; # preselect the ratio
|
||||||
|
"super + ctrl + space" = "bspc node -p cancel"; # cancel the preselection for the focused node
|
||||||
|
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel"; # cancel the preselection for the focused desktop
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
"super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}"; # expand a window by moving one of its side outward
|
||||||
|
"super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}"; # contract a window by moving one of its side inward
|
||||||
|
"super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}"; # move a floating window
|
||||||
|
|
||||||
|
#
|
||||||
|
# fn keys
|
||||||
|
#
|
||||||
|
### brightness keys
|
||||||
|
"XF86MonBrightnessUp" = "/home/guanranwang/.local/bin/wrapped-brightnessctl up";
|
||||||
|
"XF86MonBrightnessDown" = "/home/guanranwang/.local/bin/wrapped-brightnessctl down";
|
||||||
|
|
||||||
|
### media keys
|
||||||
|
"XF86AudioPrev" = "playerctl previous";
|
||||||
|
"XF86AudioNext" = "playerctl next";
|
||||||
|
"XF86AudioPlay" = "playerctl play-pause";
|
||||||
|
|
||||||
|
### volume keys
|
||||||
|
"XF86AudioRaiseVolume" = "/home/guanranwang/.local/bin/wrapped-pamixer up";
|
||||||
|
"XF86AudioLowerVolume" = "/home/guanranwang/.local/bin/wrapped-pamixer down";
|
||||||
|
"XF86AudioMute" = "/home/guanranwang/.local/bin/wrapped-pamixer mute";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
94
home/applications/vscode/default.nix
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.vscode = lib.mkMerge [
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium.override {
|
||||||
|
commandLineArgs = ''--password-store="gnome"'';
|
||||||
|
};
|
||||||
|
enableExtensionUpdateCheck = false;
|
||||||
|
enableUpdateCheck = false;
|
||||||
|
keybindings = [
|
||||||
|
{
|
||||||
|
key = "tab";
|
||||||
|
command = "selectNextSuggestion";
|
||||||
|
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "shift+tab";
|
||||||
|
command = "selectPrevSuggestion";
|
||||||
|
when = "suggestWidgetMultipleSuggestions && suggestWidgetVisible && textInputFocus || suggestWidgetVisible && textInputFocus && !suggestWidgetHasFocusedSuggestion";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
userSettings = {
|
||||||
|
diffEditor.ignoreTrimWhitespace = false;
|
||||||
|
editor.cursorBlinking = "smooth";
|
||||||
|
editor.cursorSmoothCaretAnimation = "on";
|
||||||
|
editor.fontFamily = lib.mkDefault "Monospace";
|
||||||
|
editor.fontWeight = 600;
|
||||||
|
editor.lineNumbers = "relative";
|
||||||
|
editor.smoothScrolling = true;
|
||||||
|
editor.tabSize = 2;
|
||||||
|
explorer.confirmDragAndDrop = false;
|
||||||
|
explorer.confirmDelete = false;
|
||||||
|
files.autoSave = "onFocusChange";
|
||||||
|
files.trimTrailingWhitespace = true;
|
||||||
|
files.trimFinalNewlines = true;
|
||||||
|
security.workspace.trust.enabled = false;
|
||||||
|
telemetry.telemetryLevel = "off";
|
||||||
|
terminal.integrated.cursorStyle = "line";
|
||||||
|
terminal.integrated.smoothScrolling = true;
|
||||||
|
window.menuBarVisibility = "toggle";
|
||||||
|
workbench.list.smoothScrolling = true;
|
||||||
|
|
||||||
|
# Workaround for VSCode crashing
|
||||||
|
# https://github.com/microsoft/vscode/issues/184124
|
||||||
|
window.titleBarStyle = "custom";
|
||||||
|
workbench.layoutControl.enabled = false;
|
||||||
|
#window.commandCenter = false;
|
||||||
|
|
||||||
|
# Language specific
|
||||||
|
### Nix
|
||||||
|
"[nix]".editor.tabSize = 2;
|
||||||
|
|
||||||
|
# Extensions
|
||||||
|
### GitLens
|
||||||
|
gitlens.showWelcomeOnInstall = false;
|
||||||
|
gitlens.showWhatsNewAfterUpgrades = false;
|
||||||
|
gitlens.plusFeatures.enabled = false;
|
||||||
|
gitlens.telemetry.enabled = false;
|
||||||
|
|
||||||
|
### Material icons
|
||||||
|
workbench.iconTheme = "material-icon-theme";
|
||||||
|
workbench.productIconTheme = "material-product-icons";
|
||||||
|
};
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
### QoL
|
||||||
|
eamodio.gitlens
|
||||||
|
esbenp.prettier-vscode
|
||||||
|
ritwickdey.liveserver
|
||||||
|
vscodevim.vim
|
||||||
|
editorconfig.editorconfig
|
||||||
|
|
||||||
|
### Markup formats
|
||||||
|
redhat.vscode-yaml
|
||||||
|
redhat.vscode-xml
|
||||||
|
tamasfe.even-better-toml
|
||||||
|
#bungcip.better-toml
|
||||||
|
|
||||||
|
### Material icons
|
||||||
|
pkief.material-icon-theme
|
||||||
|
pkief.material-product-icons
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
(lib.mkIf (config.myFlake.home-manager.colorScheme == "tokyonight") {
|
||||||
|
extensions = [pkgs.vscode-extensions.enkia.tokyo-night];
|
||||||
|
userSettings.workbench.colorTheme = "Tokyo Night";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
182
home/applications/waybar/default.nix
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
{
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
"layer" = "top";
|
||||||
|
"modules-left" = ["custom/launcher" "sway/workspaces" "gamemode"];
|
||||||
|
"modules-center" = ["sway/window"];
|
||||||
|
"modules-right" = ["tray" "pulseaudio" "battery" "clock"];
|
||||||
|
"custom/launcher" = {"format" = "";};
|
||||||
|
"gamemode" = {
|
||||||
|
"format" = "{glyph} {count}";
|
||||||
|
"glyph" = "";
|
||||||
|
"hide-not-running" = true;
|
||||||
|
"use-icon" = true;
|
||||||
|
"icon-name" = "input-gaming-symbolic";
|
||||||
|
"icon-spacing" = 4;
|
||||||
|
"icon-size" = 20;
|
||||||
|
"tooltip" = true;
|
||||||
|
"tooltip-format" = "Games running = {count}";
|
||||||
|
};
|
||||||
|
"sway/workspaces" = {
|
||||||
|
"format" = "{icon}";
|
||||||
|
"format-icons" = {
|
||||||
|
"1" = "";
|
||||||
|
"2" = "";
|
||||||
|
"3" = "";
|
||||||
|
"4" = "";
|
||||||
|
"5" = "";
|
||||||
|
"urgent" = "";
|
||||||
|
"active" = "";
|
||||||
|
"default" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"sway/window" = {
|
||||||
|
"format" = "{}";
|
||||||
|
"separate-outputs" = true;
|
||||||
|
};
|
||||||
|
"tray" = {
|
||||||
|
"spacing" = 10;
|
||||||
|
};
|
||||||
|
"pulseaudio" = {
|
||||||
|
"format" = "{volume}% {icon}";
|
||||||
|
"format-bluetooth" = "{volume}% {icon}";
|
||||||
|
"format-muted" = "";
|
||||||
|
"format-icons" = {
|
||||||
|
"headphone" = "";
|
||||||
|
"hands-free" = "";
|
||||||
|
"headset" = "";
|
||||||
|
"phone" = "";
|
||||||
|
"portable" = "";
|
||||||
|
"car" = "";
|
||||||
|
"default" = ["" ""];
|
||||||
|
};
|
||||||
|
"scroll-step" = 5;
|
||||||
|
"on-click" = "pwvucontrol";
|
||||||
|
"ignored-sinks" = ["Easy Effects Sink"];
|
||||||
|
};
|
||||||
|
"battery" = {
|
||||||
|
"bat" = "BAT0";
|
||||||
|
"interval" = 60;
|
||||||
|
"states" = {
|
||||||
|
"warning" = 30;
|
||||||
|
"critical" = 15;
|
||||||
|
};
|
||||||
|
"format" = "{capacity}% {icon}";
|
||||||
|
"format-icons" = ["" "" "" "" ""];
|
||||||
|
"max-length" = 25;
|
||||||
|
};
|
||||||
|
"clock" = {
|
||||||
|
# https://fmt.dev/latest/syntax.html#chrono-specs
|
||||||
|
"format" = "{:%a %b %d %I:%M %p} ";
|
||||||
|
"tooltip-format" = "{calendar}";
|
||||||
|
"calendar" = {
|
||||||
|
"mode" = "month";
|
||||||
|
"mode-mon-col" = 3;
|
||||||
|
"on-scroll" = -1;
|
||||||
|
"format"."today" = "<b><u>{}</u></b>";
|
||||||
|
};
|
||||||
|
"actions" = {
|
||||||
|
"on-click-right" = "mode";
|
||||||
|
"on-scroll-up" = "shift_down";
|
||||||
|
"on-scroll-down" = "shift_up";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"cava" = {
|
||||||
|
"framerate" = 30;
|
||||||
|
"autosens" = 1;
|
||||||
|
#"sensitivity" = 1;
|
||||||
|
"bars" = 14;
|
||||||
|
"method" = "pipewire";
|
||||||
|
"bar_delimiter" = 0;
|
||||||
|
#"monstercat" = false;
|
||||||
|
#"waves" = false;
|
||||||
|
"format-icons" = ["▁" "▂" "▃" "▄" "▅" "▆" "▇" "█"];
|
||||||
|
"actions"."on-click-right" = "mode";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = ''
|
||||||
|
* {
|
||||||
|
font: bold 14px "JetBrainsMono Nerd Font Propo";
|
||||||
|
}
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
tooltip {
|
||||||
|
background: #1a1b26;
|
||||||
|
color: #c0caf5;
|
||||||
|
border: 2px solid #c0caf5;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
tooltip label {
|
||||||
|
color: #c0caf5;
|
||||||
|
}
|
||||||
|
#custom-launcher,
|
||||||
|
#gamemode,
|
||||||
|
#window,
|
||||||
|
#workspaces,
|
||||||
|
#tray,
|
||||||
|
#pulseaudio,
|
||||||
|
#battery,
|
||||||
|
#clock {
|
||||||
|
text-shadow: 1px 1px 2px black;
|
||||||
|
background: #1a1b26;
|
||||||
|
color: #c0caf5;
|
||||||
|
margin: 10px 4px 4px 4px;
|
||||||
|
padding: 4px 10px;
|
||||||
|
box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.4);
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
#custom-launcher {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
#clock {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
#workspaces {
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
#workspaces button {
|
||||||
|
text-shadow: 1px 1px 2px black;
|
||||||
|
color: #c0caf5;
|
||||||
|
padding: 0px 4px;
|
||||||
|
border: 2px solid #1a1b26;
|
||||||
|
transition-property: background, color, text-shadow, min-width;
|
||||||
|
transition-duration: .15s;
|
||||||
|
}
|
||||||
|
#workspaces button.focused {
|
||||||
|
text-shadow: none;
|
||||||
|
color: #c0caf5;
|
||||||
|
background: linear-gradient(
|
||||||
|
70deg,
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(229, 234, 255),
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(192, 202, 245),
|
||||||
|
rgb(192, 202, 245)
|
||||||
|
);
|
||||||
|
background-size: 300% 100%;
|
||||||
|
background-position: 0% 0%;
|
||||||
|
animation: colored-gradient 2s linear infinite;
|
||||||
|
color: #1a1b26;
|
||||||
|
min-width: 36px;
|
||||||
|
}
|
||||||
|
#workspaces button.focused:hover {
|
||||||
|
background: #9fa7cc;
|
||||||
|
}
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: #11111b;
|
||||||
|
}
|
||||||
|
@keyframes colored-gradient {
|
||||||
|
from {background-position: 0% 0%;}
|
||||||
|
to {background-position: 100% 0%;}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
17
home/applications/wezterm/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
programs.wezterm = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
return {
|
||||||
|
color_scheme = "Tokyo Night",
|
||||||
|
default_cursor_style = 'SteadyBar',
|
||||||
|
window_padding = {
|
||||||
|
left = "12px",
|
||||||
|
right = "12px",
|
||||||
|
top = "12px",
|
||||||
|
bottom = "12px",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
31
home/applications/zsh/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
dotDir = ".config/zsh";
|
||||||
|
initExtra = "zstyle ':fzf-tab:*' fzf-command sk";
|
||||||
|
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
historySubstringSearch.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
plugins = [
|
||||||
|
{
|
||||||
|
name = "fzf-tab";
|
||||||
|
src = "${pkgs.zsh-fzf-tab}/share/fzf-tab";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "sudo";
|
||||||
|
src = "${pkgs.oh-my-zsh}/share/oh-my-zsh/plugins/sudo";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
history = {
|
||||||
|
path = "${config.xdg.dataHome}/zsh/zsh_history";
|
||||||
|
save = 1000000;
|
||||||
|
size = 1000000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -32,13 +32,14 @@
|
||||||
|
|
||||||
# Default applications
|
# Default applications
|
||||||
imports = [
|
imports = [
|
||||||
|
inputs.self.homeManagerModules.default
|
||||||
inputs.nur.hmModules.nur
|
inputs.nur.hmModules.nur
|
||||||
|
|
||||||
./applications/atuin
|
./applications/atuin
|
||||||
./applications/bash
|
./applications/bash
|
||||||
./applications/bat
|
./applications/bat
|
||||||
./applications/eza
|
./applications/eza
|
||||||
./applications/neovim
|
./applications/fastfetch
|
||||||
./applications/fish
|
./applications/fish
|
||||||
./applications/git
|
./applications/git
|
||||||
./applications/gpg
|
./applications/gpg
|
||||||
|
@ -50,14 +51,7 @@
|
||||||
|
|
||||||
programs.ripgrep.enable = true;
|
programs.ripgrep.enable = true;
|
||||||
programs.zoxide.enable = true;
|
programs.zoxide.enable = true;
|
||||||
home.packages =
|
home.packages = with pkgs; [fd] ++ lib.optionals pkgs.stdenv.hostPlatform.isLinux (with pkgs; [trashy]);
|
||||||
(with pkgs; [
|
|
||||||
fd
|
|
||||||
fastfetch
|
|
||||||
])
|
|
||||||
++ lib.optionals pkgs.stdenv.hostPlatform.isLinux (with pkgs; [
|
|
||||||
trashy
|
|
||||||
]);
|
|
||||||
|
|
||||||
home.shellAliases = {
|
home.shellAliases = {
|
||||||
".." = "cd ..";
|
".." = "cd ..";
|
||||||
|
@ -68,6 +62,7 @@
|
||||||
jq = lib.getExe pkgs.jq;
|
jq = lib.getExe pkgs.jq;
|
||||||
nix = lib.getExe pkgs.nix;
|
nix = lib.getExe pkgs.nix;
|
||||||
curl = lib.getExe pkgs.curl;
|
curl = lib.getExe pkgs.curl;
|
||||||
|
awk = lib.getExe pkgs.gawk;
|
||||||
in {
|
in {
|
||||||
"pb" = ''
|
"pb" = ''
|
||||||
${jq} -Rns '{text: inputs}' | \
|
${jq} -Rns '{text: inputs}' | \
|
||||||
|
@ -77,7 +72,8 @@
|
||||||
|
|
||||||
"getmnter" = ''
|
"getmnter" = ''
|
||||||
${nix} eval nixpkgs#{$argv}.meta.maintainers --json | \
|
${nix} eval nixpkgs#{$argv}.meta.maintainers --json | \
|
||||||
${jq} '.[].github | "@" + .' -r
|
${jq} '.[].github' -r | \
|
||||||
|
${awk} '{ print "@" $1 }'
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
9
home/modules/color-scheme.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
options.myFlake.home-manager = {
|
||||||
|
colorScheme = lib.mkOption {
|
||||||
|
type = lib.types.enum [null "tokyonight"];
|
||||||
|
default = "tokyonight";
|
||||||
|
description = "Select desired terminal color scheme.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
home/modules/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./terminal.nix
|
||||||
|
./color-scheme.nix
|
||||||
|
];
|
||||||
|
}
|
86
home/modules/terminal.nix
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.myFlake.home-manager.terminal;
|
||||||
|
in {
|
||||||
|
# 3 terminals, one module.
|
||||||
|
# -- The Orange Box (wtf)
|
||||||
|
|
||||||
|
# FAQ (for future myself):
|
||||||
|
#
|
||||||
|
# - Q: font?
|
||||||
|
# A: use fontconfig.
|
||||||
|
#
|
||||||
|
# - Q: WezTerm?
|
||||||
|
# A: - I don't use it.
|
||||||
|
# - I don't know Lua.
|
||||||
|
# - extraConfig is probably not enough if you want customize it yourself.
|
||||||
|
#
|
||||||
|
# - Q: which terminal should I use?
|
||||||
|
# A: - Alacritty - rusty
|
||||||
|
# - Foot - fast
|
||||||
|
# - Kitty - feature rich
|
||||||
|
#
|
||||||
|
# - Q: why does kitty's font look bold
|
||||||
|
# A: I dont know, might be related to this: https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.text_composition_strategy
|
||||||
|
|
||||||
|
options = {
|
||||||
|
myFlake.home-manager.terminal = {
|
||||||
|
cursorStyle = lib.mkOption {
|
||||||
|
type = lib.types.enum ["block" "beam" "underline"];
|
||||||
|
default = "beam";
|
||||||
|
example = "block";
|
||||||
|
description = "Select desired terminal cursor style.";
|
||||||
|
};
|
||||||
|
|
||||||
|
fontSize = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 12;
|
||||||
|
example = 8;
|
||||||
|
description = "Select desired terminal font size.";
|
||||||
|
};
|
||||||
|
|
||||||
|
padding = lib.mkOption {
|
||||||
|
type = lib.types.int;
|
||||||
|
default = 0;
|
||||||
|
example = config.myFlake.home-manager.terminal.fontSize;
|
||||||
|
description = "Select desired terminal padding size (in px).";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
programs = {
|
||||||
|
alacritty.settings = {
|
||||||
|
import = [
|
||||||
|
"${pkgs.vimPlugins.tokyonight-nvim}/extras/alacritty/tokyonight_night.toml"
|
||||||
|
];
|
||||||
|
cursor.style = cfg.cursorStyle;
|
||||||
|
font.size = cfg.fontSize;
|
||||||
|
window.padding.x = cfg.padding;
|
||||||
|
window.padding.y = cfg.padding;
|
||||||
|
};
|
||||||
|
|
||||||
|
kitty.settings = {
|
||||||
|
include =
|
||||||
|
lib.mkIf (config.myFlake.home-manager.colorScheme == "tokyonight")
|
||||||
|
"${pkgs.vimPlugins.tokyonight-nvim}/extras/kitty/tokyonight_night.conf";
|
||||||
|
cursor_shape = cfg.cursorStyle;
|
||||||
|
font_size = cfg.fontSize;
|
||||||
|
window_padding_width = builtins.toString (cfg.padding * (3.0 / 4.0)); # px -> pt
|
||||||
|
};
|
||||||
|
|
||||||
|
foot.settings = {
|
||||||
|
main.include =
|
||||||
|
lib.mkIf (config.myFlake.home-manager.colorScheme == "tokyonight")
|
||||||
|
"${pkgs.vimPlugins.tokyonight-nvim}/extras/foot/tokyonight_night.ini";
|
||||||
|
cursor.style = cfg.cursorStyle;
|
||||||
|
main.font = "monospace:size=${builtins.toString cfg.fontSize}";
|
||||||
|
main.pad = "${builtins.toString cfg.padding}x${builtins.toString cfg.padding}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -12,6 +12,7 @@
|
||||||
"rustc-bootstrap"
|
"rustc-bootstrap"
|
||||||
"rustc-bootstrap-wrapper"
|
"rustc-bootstrap-wrapper"
|
||||||
"sof-firmware"
|
"sof-firmware"
|
||||||
|
"spotify"
|
||||||
"temurin-bin"
|
"temurin-bin"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -21,6 +22,7 @@
|
||||||
"libXNVCtrl"
|
"libXNVCtrl"
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"osu-lazer-bin"
|
"osu-lazer-bin"
|
||||||
|
"spotify"
|
||||||
"steam"
|
"steam"
|
||||||
"steam-original"
|
"steam-original"
|
||||||
"xow_dongle-firmware"
|
"xow_dongle-firmware"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
# OS
|
# OS
|
||||||
../../nixos/profiles/laptop
|
../../nixos/profiles/laptop
|
||||||
../../nixos/profiles/common/opt-in/mihomo
|
../../nixos/profiles/common/opt-in/clash-meta-client
|
||||||
../../nixos/profiles/common/opt-in/gaming
|
../../nixos/profiles/common/opt-in/gaming
|
||||||
|
|
||||||
# Hardware
|
# Hardware
|
||||||
|
@ -31,6 +31,7 @@
|
||||||
# Stuff that I only want on my main machine
|
# Stuff that I only want on my main machine
|
||||||
home-manager.users.guanranwang = {
|
home-manager.users.guanranwang = {
|
||||||
imports = map (n: ../../home/applications/${n}) [
|
imports = map (n: ../../home/applications/${n}) [
|
||||||
|
"spotify/spicetify.nix"
|
||||||
"thunderbird"
|
"thunderbird"
|
||||||
"ydict"
|
"ydict"
|
||||||
];
|
];
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
"rustc-bootstrap"
|
"rustc-bootstrap"
|
||||||
"rustc-bootstrap-wrapper"
|
"rustc-bootstrap-wrapper"
|
||||||
"sof-firmware"
|
"sof-firmware"
|
||||||
|
"spotify"
|
||||||
"temurin-bin"
|
"temurin-bin"
|
||||||
"vscodium"
|
"vscodium"
|
||||||
];
|
];
|
||||||
|
@ -23,6 +24,7 @@
|
||||||
"broadcom-sta"
|
"broadcom-sta"
|
||||||
"minecraft-server"
|
"minecraft-server"
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
|
"spotify"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
../../nixos/profiles/common/core
|
../../nixos/profiles/common/core
|
||||||
../../nixos/profiles/common/physical
|
../../nixos/profiles/common/physical
|
||||||
../../nixos/profiles/common/mobile
|
../../nixos/profiles/common/mobile
|
||||||
../../nixos/profiles/common/opt-in/mihomo
|
../../nixos/profiles/common/opt-in/clash-meta-client
|
||||||
|
|
||||||
# Hardware
|
# Hardware
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../darwin/profiles/desktop
|
../../darwin/profiles/desktop
|
||||||
../../darwin/profiles/common/opt-in/mihomo.nix
|
../../darwin/profiles/common/opt-in/clash-meta-client.nix
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -60,6 +60,7 @@
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
({...}: {
|
({...}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
../../home/applications/neovim
|
||||||
../../home/applications/nix
|
../../home/applications/nix
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../darwin/profiles/desktop
|
../../darwin/profiles/desktop
|
||||||
../../darwin/profiles/common/opt-in/mihomo.nix
|
../../darwin/profiles/common/opt-in/clash-meta-client.nix
|
||||||
|
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
|
@ -6,14 +6,33 @@
|
||||||
./xdg-mime.nix
|
./xdg-mime.nix
|
||||||
]
|
]
|
||||||
++ map (n: ../../../../../home/applications/${n}) [
|
++ map (n: ../../../../../home/applications/${n}) [
|
||||||
|
# Terminal
|
||||||
"alacritty"
|
"alacritty"
|
||||||
"fcitx5"
|
|
||||||
|
# Editor
|
||||||
|
"neovim"
|
||||||
|
# "helix"
|
||||||
|
# "vscode"
|
||||||
|
|
||||||
|
# Browser
|
||||||
"firefox"
|
"firefox"
|
||||||
"go"
|
# "chromium"
|
||||||
"mpv"
|
# "librewolf"
|
||||||
"nautilus"
|
|
||||||
|
# Language
|
||||||
"nix"
|
"nix"
|
||||||
|
"go"
|
||||||
|
|
||||||
|
# Media
|
||||||
|
"loupe"
|
||||||
|
"mpv"
|
||||||
|
|
||||||
|
# WM
|
||||||
"sway"
|
"sway"
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
"nautilus"
|
||||||
|
"fcitx5"
|
||||||
];
|
];
|
||||||
|
|
||||||
# https://wiki.archlinux.org/title/Fish#Start_X_at_login
|
# https://wiki.archlinux.org/title/Fish#Start_X_at_login
|
||||||
|
@ -23,16 +42,12 @@
|
||||||
end
|
end
|
||||||
'';
|
'';
|
||||||
|
|
||||||
home.packages =
|
home.packages = with pkgs.gnome; [
|
||||||
(with pkgs; [
|
|
||||||
loupe
|
|
||||||
])
|
|
||||||
++ (with pkgs.gnome; [
|
|
||||||
seahorse
|
seahorse
|
||||||
file-roller
|
file-roller
|
||||||
gnome-calculator
|
gnome-calculator
|
||||||
dconf-editor
|
dconf-editor
|
||||||
]);
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
ssh-agent.enable = true;
|
ssh-agent.enable = true;
|
||||||
|
|
|
@ -7,16 +7,20 @@
|
||||||
url = "https://raw.githubusercontent.com/lilydjwg/dotconfig/1b22d4f0740bb5bbd7c65b6c468920775171b207/fontconfig/web-ui-fonts.conf";
|
url = "https://raw.githubusercontent.com/lilydjwg/dotconfig/1b22d4f0740bb5bbd7c65b6c468920775171b207/fontconfig/web-ui-fonts.conf";
|
||||||
hash = "sha256-A4DcV6HTW/IRxXN3NaI1GUfoFdalwgFLpCjgbWENdZU=";
|
hash = "sha256-A4DcV6HTW/IRxXN3NaI1GUfoFdalwgFLpCjgbWENdZU=";
|
||||||
};
|
};
|
||||||
"fontconfig/conf.d/10-source-han-for-noto-cjk.conf".source = pkgs.fetchurl {
|
"fontconfig/conf.d/10-source-han-for-noto-cjk.conf".source = pkgs.substitute {
|
||||||
|
src = pkgs.fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/lilydjwg/dotconfig/1b22d4f0740bb5bbd7c65b6c468920775171b207/fontconfig/source-han-for-noto-cjk.conf";
|
url = "https://raw.githubusercontent.com/lilydjwg/dotconfig/1b22d4f0740bb5bbd7c65b6c468920775171b207/fontconfig/source-han-for-noto-cjk.conf";
|
||||||
hash = "sha256-jcdDr5VW1qZXbApgfT5FZgxonpRnLs9AY0QagfdL8ic=";
|
hash = "sha256-jcdDr5VW1qZXbApgfT5FZgxonpRnLs9AY0QagfdL8ic=";
|
||||||
postFetch = ''
|
|
||||||
substitutionInPlace $out \
|
|
||||||
--replace-warn "Source Han Sans" "Source Han Sans VF" \
|
|
||||||
--replace-warn "Source Han Serif" "Source Han Serif VF"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
substitutions = [
|
||||||
|
"--replace-warn"
|
||||||
|
"Source Han Sans"
|
||||||
|
"Source Han Sans VF"
|
||||||
|
"--replace-warn"
|
||||||
|
"Source Han Serif"
|
||||||
|
"Source Han Serif VF"
|
||||||
|
];
|
||||||
|
};
|
||||||
"fontconfig/conf.d/10-nerd-font-symbols.conf".source = pkgs.fetchurl {
|
"fontconfig/conf.d/10-nerd-font-symbols.conf".source = pkgs.fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/${pkgs.nerdfonts.version}/10-nerd-font-symbols.conf";
|
url = "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/${pkgs.nerdfonts.version}/10-nerd-font-symbols.conf";
|
||||||
hash = "sha256-XwJMkcDtGlI+LFMrjCl/gicAnoBWnq3p9adrmieNZwU=";
|
hash = "sha256-XwJMkcDtGlI+LFMrjCl/gicAnoBWnq3p9adrmieNZwU=";
|
||||||
|
|
|
@ -21,6 +21,10 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
|
#name = "Tela-dracula-dark";
|
||||||
|
#package = pkgs.tela-icon-theme;
|
||||||
|
#name = "Papirus-Dark";
|
||||||
|
#package = pkgs.papirus-icon-theme;
|
||||||
name = "Adwaita";
|
name = "Adwaita";
|
||||||
package = pkgs.gnome.adwaita-icon-theme;
|
package = pkgs.gnome.adwaita-icon-theme;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
# Default application associstions
|
||||||
defaultApplications =
|
defaultApplications =
|
||||||
{
|
{
|
||||||
"inode/directory" = ["org.gnome.Nautilus.desktop"];
|
"inode/directory" = ["org.gnome.Nautilus.desktop"];
|
||||||
|
@ -13,7 +15,7 @@
|
||||||
"x-scheme-handler/https"
|
"x-scheme-handler/https"
|
||||||
"x-scheme-handler/about"
|
"x-scheme-handler/about"
|
||||||
"x-scheme-handler/unknown"
|
"x-scheme-handler/unknown"
|
||||||
] (_n: ["firefox.desktop"])
|
] (_n: ["librewolf.desktop" "firefox.desktop" "chromium-browser.desktop"])
|
||||||
### Audio player
|
### Audio player
|
||||||
// lib.genAttrs [
|
// lib.genAttrs [
|
||||||
"audio/aac"
|
"audio/aac"
|
||||||
|
@ -21,7 +23,7 @@
|
||||||
"audio/mpeg"
|
"audio/mpeg"
|
||||||
"audio/ogg"
|
"audio/ogg"
|
||||||
"audio/wav"
|
"audio/wav"
|
||||||
] (_n: ["io.bassi.Amberol.desktop"])
|
] (_n: ["io.bassi.Amberol.desktop" "mpv.desktop"])
|
||||||
### Image viewer
|
### Image viewer
|
||||||
// lib.genAttrs [
|
// lib.genAttrs [
|
||||||
"image/gif"
|
"image/gif"
|
||||||
|
@ -41,6 +43,6 @@
|
||||||
"text/html"
|
"text/html"
|
||||||
"text/javascript"
|
"text/javascript"
|
||||||
"text/plain"
|
"text/plain"
|
||||||
] (_n: ["nvim.desktop"]);
|
] (_n: ["codium.desktop" "Helix.desktop" "nvim.desktop"]);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,16 +46,28 @@ proxy-groups:
|
||||||
#- { name: 新加坡, <<: *use, type: url-test, filter: "(?i)(新|sg|singapore)" }
|
#- { name: 新加坡, <<: *use, type: url-test, filter: "(?i)(新|sg|singapore)" }
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
|
### WHITELIST
|
||||||
|
# FILTER
|
||||||
- GEOIP, lan, DIRECT, no-resolve
|
- GEOIP, lan, DIRECT, no-resolve
|
||||||
- GEOSITE, private, DIRECT
|
- GEOSITE, private, DIRECT
|
||||||
- GEOSITE, category-ads, REJECT
|
- GEOSITE, category-ads, REJECT
|
||||||
|
|
||||||
|
# DIRECT
|
||||||
|
- DOMAIN-SUFFIX, envs.net, DIRECT
|
||||||
|
- DOMAIN-SUFFIX, catgirl.cloud, DIRECT
|
||||||
|
- GEOSITE, freecodecamp, DIRECT # music radio
|
||||||
- GEOSITE, icloud, DIRECT
|
- GEOSITE, icloud, DIRECT
|
||||||
- GEOSITE, apple@cn, DIRECT
|
- GEOSITE, apple@cn, DIRECT
|
||||||
- GEOSITE, google@cn, DIRECT
|
- GEOSITE, google@cn, DIRECT
|
||||||
- GEOSITE, microsoft@cn, DIRECT
|
- GEOSITE, microsoft@cn, DIRECT
|
||||||
- GEOSITE, category-games@cn, DIRECT
|
- GEOSITE, category-games@cn, DIRECT
|
||||||
|
|
||||||
|
# PROXY
|
||||||
|
- GEOSITE, spotify, 台湾
|
||||||
|
# - GEOSITE, google, PROXY
|
||||||
|
# - GEOSITE, telegram, PROXY
|
||||||
|
|
||||||
|
# NOMATCH
|
||||||
- GEOSITE, cn, DIRECT
|
- GEOSITE, cn, DIRECT
|
||||||
- GEOIP, cn, DIRECT
|
- GEOIP, cn, DIRECT
|
||||||
- MATCH, PROXY
|
- MATCH, PROXY
|
|
@ -26,6 +26,7 @@
|
||||||
#"Templates"
|
#"Templates"
|
||||||
|
|
||||||
".ssh"
|
".ssh"
|
||||||
|
#".librewolf"
|
||||||
".mozilla/firefox"
|
".mozilla/firefox"
|
||||||
".thunderbird"
|
".thunderbird"
|
||||||
|
|
||||||
|
@ -33,13 +34,17 @@
|
||||||
".local/share"
|
".local/share"
|
||||||
".local/state"
|
".local/state"
|
||||||
|
|
||||||
".config/gh"
|
|
||||||
".config/Mumble"
|
".config/Mumble"
|
||||||
|
".config/VSCodium"
|
||||||
|
".config/chromium"
|
||||||
".config/fcitx5"
|
".config/fcitx5"
|
||||||
".config/obs-studio"
|
".config/obs-studio"
|
||||||
|
".config/spotify"
|
||||||
];
|
];
|
||||||
files = [
|
files = [
|
||||||
".config/sops/age/keys.txt"
|
".config/sops/age/keys.txt"
|
||||||
|
#".config/KDE/neochat.conf"
|
||||||
|
#".config/neochatrc"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,16 +8,22 @@
|
||||||
wl-clipboard,
|
wl-clipboard,
|
||||||
libnotify,
|
libnotify,
|
||||||
fetchurl,
|
fetchurl,
|
||||||
|
substitute,
|
||||||
}:
|
}:
|
||||||
makeScript {
|
makeScript {
|
||||||
name = "screenshot";
|
name = "screenshot";
|
||||||
runtimeInputs = [coreutils jq grim slurp swappy wl-clipboard libnotify];
|
runtimeInputs = [coreutils jq grim slurp swappy wl-clipboard libnotify];
|
||||||
file = fetchurl {
|
file = substitute {
|
||||||
|
src = fetchurl {
|
||||||
url = "https://raw.githubusercontent.com/nwg-piotr/nwg-shell/c29e8eb4658a2613fb221ead0b101c75f457bcaf/scripts/screenshot";
|
url = "https://raw.githubusercontent.com/nwg-piotr/nwg-shell/c29e8eb4658a2613fb221ead0b101c75f457bcaf/scripts/screenshot";
|
||||||
hash = "sha256-Z/fWloz8pLHsvPTPOeBxnbMsGDRTY3G3l/uePQ3ZxjU=";
|
hash = "sha256-Z/fWloz8pLHsvPTPOeBxnbMsGDRTY3G3l/uePQ3ZxjU=";
|
||||||
postFetch = ''
|
};
|
||||||
substituteInPlace $out \
|
|
||||||
--replace-warn "DIR=\''${SCREENSHOT_DIR:=$HOME/Screenshots}" "DIR=$HOME/Pictures/Screenshots"
|
# i dont like using an environment variable
|
||||||
'';
|
substitutions = [
|
||||||
|
"--replace-warn"
|
||||||
|
"DIR=\${SCREENSHOT_DIR:=$HOME/Screenshots}"
|
||||||
|
"DIR=$HOME/Pictures/Screenshots"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|