Compare commits
No commits in common. "be1f8d0199206186c771000e558d3cf4fcdb8290" and "f52b461aa1d4e86fbec5dd34bf65e29a6dad7a81" have entirely different histories.
be1f8d0199
...
f52b461aa1
30 changed files with 204 additions and 105 deletions
|
@ -13,7 +13,7 @@
|
|||
./programs/terminal/bottom.nix
|
||||
./programs/terminal/starship.nix
|
||||
./programs/terminal/zoxide.nix
|
||||
./programs/terminal/direnv.nix
|
||||
./programs/direnv.nix
|
||||
./programs/git.nix
|
||||
];
|
||||
|
||||
|
@ -39,7 +39,6 @@
|
|||
unrar
|
||||
p7zip
|
||||
procs
|
||||
# atac
|
||||
];
|
||||
stateVersion = "23.05";
|
||||
};
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
inputs.anyrun.homeManagerModules.default
|
||||
inputs.ags.homeManagerModules.default
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
../../services
|
||||
../../programs/ags
|
||||
../../programs/anyrun
|
||||
../../programs/browsers/firefox
|
||||
../../programs/browsers/chromium
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# stolen from fufexan
|
||||
{
|
||||
inputs,
|
||||
self,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
extraSpecialArgs = {inherit inputs self;};
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{
|
||||
imports = [];
|
||||
imports = [
|
||||
];
|
||||
}
|
||||
|
|
|
@ -4,10 +4,18 @@
|
|||
...
|
||||
}: {
|
||||
imports = [
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
inputs.anyrun.homeManagerModules.default
|
||||
inputs.ags.homeManagerModules.default
|
||||
inputs.hypridle.homeManagerModules.default
|
||||
inputs.hyprlock.homeManagerModules.default
|
||||
inputs.hyprpaper.homeManagerModules.default
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
../../services
|
||||
../../programs/ags
|
||||
../../programs/anyrun
|
||||
../../programs/ironbar
|
||||
../../programs/browsers/firefox
|
||||
../../programs/browsers/chromium
|
||||
../../programs/terminal/wezterm
|
||||
../../programs/terminal/zellij
|
||||
../../programs/gtk.nix
|
||||
|
@ -29,8 +37,11 @@
|
|||
pavucontrol
|
||||
anki-bin
|
||||
tomato-c
|
||||
distrobox
|
||||
gpg-tui
|
||||
vscode-fhs
|
||||
obsidian-wayland
|
||||
jellyfin-mpv-shim
|
||||
virt-manager
|
||||
qbittorrent
|
||||
hyprpicker
|
||||
|
@ -42,10 +53,14 @@
|
|||
cryptomator
|
||||
ventoy-bin-full
|
||||
wine
|
||||
lutris
|
||||
mangohud
|
||||
bottles
|
||||
prismlauncher
|
||||
stellarium
|
||||
inputs.nix-gaming.packages.${pkgs.system}.osu-lazer-bin
|
||||
(callPackage ../../../pkgs/chatterino7 {})
|
||||
(libsForQt5.callPackage ../../../pkgs/chatterino7 {})
|
||||
(callPackage ../../../pkgs/jellyfin-rpc {})
|
||||
];
|
||||
|
||||
programs.ssh = {
|
||||
|
|
25
home/programs/ags/config/.eslintrc.js
Normal file
25
home/programs/ags/config/.eslintrc.js
Normal file
|
@ -0,0 +1,25 @@
|
|||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true
|
||||
},
|
||||
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
|
||||
overrides: [
|
||||
{
|
||||
env: {
|
||||
node: true
|
||||
},
|
||||
files: [".eslintrc.{js,cjs}"],
|
||||
parserOptions: {
|
||||
sourceType: "script"
|
||||
}
|
||||
}
|
||||
],
|
||||
parser: "@typescript-eslint/parser",
|
||||
parserOptions: {
|
||||
ecmaVersion: "latest",
|
||||
sourceType: "module"
|
||||
},
|
||||
plugins: ["@typescript-eslint"],
|
||||
rules: {}
|
||||
};
|
2
home/programs/ags/config/.gitignore
vendored
Normal file
2
home/programs/ags/config/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
style.css
|
||||
style.css.map
|
3
home/programs/ags/config/.prettierrc.json
Normal file
3
home/programs/ags/config/.prettierrc.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"trailingComma": "none"
|
||||
}
|
21
home/programs/ags/config/config.js
Normal file
21
home/programs/ags/config/config.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
const entry = App.configDir + "/ts/main.ts";
|
||||
const outdir = "/tmp/ags/js";
|
||||
|
||||
try {
|
||||
await Utils.execAsync([
|
||||
"bun",
|
||||
"build",
|
||||
entry,
|
||||
"--outdir",
|
||||
outdir,
|
||||
"--external",
|
||||
"resource://*",
|
||||
"--external",
|
||||
"gi://*"
|
||||
]);
|
||||
await import(`file://${outdir}/main.js`);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
||||
export {};
|
1
home/programs/ags/config/main.scss
Normal file
1
home/programs/ags/config/main.scss
Normal file
|
@ -0,0 +1 @@
|
|||
@import "./style/main.scss";
|
13
home/programs/ags/config/package-lock.json
generated
Normal file
13
home/programs/ags/config/package-lock.json
generated
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"name": "snowflake-ags",
|
||||
"version": "0.0.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "snowflake-ags",
|
||||
"version": "0.0.1",
|
||||
"license": "MIT"
|
||||
}
|
||||
}
|
||||
}
|
11
home/programs/ags/config/package.json
Normal file
11
home/programs/ags/config/package.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"name": "snowflake-ags",
|
||||
"version": "0.0.1",
|
||||
"description": "",
|
||||
"main": "config.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "notohh",
|
||||
"license": "MIT"
|
||||
}
|
7
home/programs/ags/config/style/style.scss
Normal file
7
home/programs/ags/config/style/style.scss
Normal file
|
@ -0,0 +1,7 @@
|
|||
* {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
window {
|
||||
background: black;
|
||||
}
|
48
home/programs/ags/config/ts/main.ts
Normal file
48
home/programs/ags/config/ts/main.ts
Normal file
|
@ -0,0 +1,48 @@
|
|||
const scss = App.configDir + "/main.scss";
|
||||
const css = App.configDir + "/style.css";
|
||||
|
||||
const time = Variable("", {
|
||||
poll: [
|
||||
1000,
|
||||
function () {
|
||||
return Date().toString();
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
Utils.monitorFile(
|
||||
`${App.configDir}/style`,
|
||||
|
||||
function () {
|
||||
const scss = `${App.configDir}/main.scss`;
|
||||
|
||||
const css = `./style.css`;
|
||||
|
||||
Utils.exec(`sass ${scss} ${css}`);
|
||||
App.resetCss();
|
||||
App.applyCss(css);
|
||||
}
|
||||
);
|
||||
|
||||
const Bar = (monitor: number) =>
|
||||
Widget.Window({
|
||||
monitor,
|
||||
name: `bar${monitor}`,
|
||||
anchor: ["top", "left", "right"],
|
||||
exclusivity: "exclusive",
|
||||
child: Widget.CenterBox({
|
||||
start_widget: Widget.Label({
|
||||
hpack: "center",
|
||||
label: "Welcome to AGS!"
|
||||
}),
|
||||
end_widget: Widget.Label({
|
||||
hpack: "center",
|
||||
label: time.bind()
|
||||
})
|
||||
})
|
||||
});
|
||||
|
||||
App.config({
|
||||
style: css,
|
||||
windows: [Bar(2)]
|
||||
});
|
14
home/programs/ags/config/tsconfig.json
Normal file
14
home/programs/ags/config/tsconfig.json
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"module": "ES2022",
|
||||
"lib": ["ES2022"],
|
||||
"allowJs": true,
|
||||
"checkJs": true,
|
||||
"strict": true,
|
||||
"noImplicitAny": false,
|
||||
"baseUrl": ".",
|
||||
"typeRoots": ["./types"],
|
||||
"skipLibCheck": true
|
||||
}
|
||||
}
|
1
home/programs/ags/config/types
Symbolic link
1
home/programs/ags/config/types
Symbolic link
|
@ -0,0 +1 @@
|
|||
/home/notoh/.local/share/com.github.Aylur.ags/types
|
16
home/programs/ags/default.nix
Normal file
16
home/programs/ags/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
configDir = "/home/notoh/snowflake/home/programs/ags/config";
|
||||
in {
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [libsoup_3 libdbusmenu-gtk3];
|
||||
};
|
||||
home.packages = with pkgs; [dart-sass bun];
|
||||
xdg.configFile = {
|
||||
"ags".source = config.lib.file.mkOutOfStoreSymlink "${configDir}";
|
||||
};
|
||||
}
|
|
@ -9,8 +9,6 @@
|
|||
${lib.getExe pkgs.sassc} -t expanded '${source}' > $out/${name}.css
|
||||
''}/${name}.css";
|
||||
in {
|
||||
imports = [inputs.anyrun.homeManagerModules.default];
|
||||
|
||||
programs.anyrun = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
_: {
|
||||
programs.ironbar.config = let
|
||||
nixlogo = rec {
|
||||
type = "custom";
|
||||
name = "nixlogo";
|
||||
class = name;
|
||||
bar = [
|
||||
{
|
||||
type = "image";
|
||||
src = "https://files.artturin.com/files/nixoscolorful.svg";
|
||||
size = 24;
|
||||
}
|
||||
];
|
||||
};
|
||||
tray = {type = "tray";};
|
||||
clock = {type = "clock";};
|
||||
in {
|
||||
monitors = {
|
||||
"DP-2" = {
|
||||
position = "top";
|
||||
anchor_to_edges = true;
|
||||
start = [nixlogo];
|
||||
center = [];
|
||||
end = [clock tray];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
compileSCSS = name: source: "${pkgs.runCommandLocal name {} ''
|
||||
mkdir -p $out
|
||||
${lib.getExe pkgs.sass} '${source}' > $out/${name}.css
|
||||
''}/${name}.css";
|
||||
in {
|
||||
imports = [inputs.ironbar.homeManagerModules.default ./config.nix];
|
||||
|
||||
programs.ironbar = {
|
||||
enable = true;
|
||||
systemd = true;
|
||||
style = builtins.readFile (compileSCSS "style" ./style.scss);
|
||||
};
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
* {
|
||||
all: unset;
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
plugins = [
|
||||
inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo
|
||||
];
|
||||
plugin = {
|
||||
hyprexpo = {
|
||||
columns = 3;
|
||||
gap_size = 5;
|
||||
bg_col = "rgb(111111)";
|
||||
workspace_method = "center current";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -19,7 +19,6 @@ _: {
|
|||
];
|
||||
layerrule = [
|
||||
"blur, ^(gtk-layer-shell|anyrun)$"
|
||||
"blur, ^(gtk-layer-shell|ironbar)$"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
{inputs, ...}: {
|
||||
_: {
|
||||
imports = [
|
||||
inputs.hyprland.homeManagerModules.default
|
||||
./config/general.nix
|
||||
./config/binds.nix
|
||||
./config/rules.nix
|
||||
# ./config/plugins.nix
|
||||
];
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{inputs, ...}: {
|
||||
imports = [inputs.hyprlock.homeManagerModules.default];
|
||||
_: {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
backgrounds = let
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
|
||||
$mainMod = SUPER
|
||||
bind = $mainMod, Q, exec, reboot
|
||||
bind = $mainMod, Return, exec, ${lib.getExe pkgs.greetd.regreet}
|
||||
|
||||
input {
|
||||
kb_layout = us
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.hypridle.homeManagerModules.default];
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
ignoreDbusInhibit = false;
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{inputs, ...}: {
|
||||
imports = [inputs.hyprpaper.homeManagerModules.default];
|
||||
_: {
|
||||
services.hyprpaper = {
|
||||
enable = true;
|
||||
ipc = true;
|
||||
|
|
|
@ -4,36 +4,31 @@
|
|||
cmake,
|
||||
pkg-config,
|
||||
fetchFromGitHub,
|
||||
qt6,
|
||||
qtbase,
|
||||
qtsvg,
|
||||
qtmultimedia,
|
||||
qtimageformats,
|
||||
qttools,
|
||||
boost,
|
||||
openssl,
|
||||
wrapQtAppsHook,
|
||||
libsecret,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "chatterino7";
|
||||
version = "7.5.0";
|
||||
version = "7.4.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SevenTV";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/L6X0/03e5wSa+cVlh1Tynz90sMEjSeJm4Ca07f7s18=";
|
||||
sha256 = "sha256-6F27GVknSwFDYARdkgE31Oufz557vBKrcDLo9csRWPA=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [cmake pkg-config qt6.wrapQtAppsHook];
|
||||
buildInputs = [
|
||||
qt6.qtbase
|
||||
qt6.qtsvg
|
||||
qt6.qtimageformats
|
||||
qt6.qttools
|
||||
qt6.qt5compat
|
||||
qt6.qtwayland
|
||||
boost
|
||||
openssl
|
||||
libsecret
|
||||
];
|
||||
cmakeFlags = ["-DBUILD_WITH_QT6=ON"];
|
||||
nativeBuildInputs = [cmake pkg-config wrapQtAppsHook];
|
||||
buildInputs = [qtbase qtsvg qtmultimedia qtimageformats qttools boost openssl libsecret];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
mkdir -p "$out/bin"
|
||||
|
|
Loading…
Reference in a new issue