Compare commits

..

No commits in common. "be1f8d0199206186c771000e558d3cf4fcdb8290" and "f52b461aa1d4e86fbec5dd34bf65e29a6dad7a81" have entirely different histories.

30 changed files with 204 additions and 105 deletions

View file

@ -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";
};

View file

@ -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

View file

@ -1,7 +1,7 @@
# stolen from fufexan
{
inputs,
self,
inputs,
...
}: let
extraSpecialArgs = {inherit inputs self;};

View file

@ -1,3 +1,4 @@
{
imports = [];
imports = [
];
}

View file

@ -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 = {

View 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
View file

@ -0,0 +1,2 @@
style.css
style.css.map

View file

@ -0,0 +1,3 @@
{
"trailingComma": "none"
}

View 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 {};

View file

@ -0,0 +1 @@
@import "./style/main.scss";

View 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"
}
}
}

View 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"
}

View file

@ -0,0 +1,7 @@
* {
all: unset;
}
window {
background: black;
}

View 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)]
});

View 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
}
}

View file

@ -0,0 +1 @@
/home/notoh/.local/share/com.github.Aylur.ags/types

View 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}";
};
}

View file

@ -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 = {

View file

@ -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];
};
};
};
}

View file

@ -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);
};
}

View file

@ -1,3 +0,0 @@
* {
all: unset;
}

View file

@ -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";
};
};
};
}

View file

@ -19,7 +19,6 @@ _: {
];
layerrule = [
"blur, ^(gtk-layer-shell|anyrun)$"
"blur, ^(gtk-layer-shell|ironbar)$"
];
};
}

View file

@ -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;

View file

@ -1,5 +1,4 @@
{inputs, ...}: {
imports = [inputs.hyprlock.homeManagerModules.default];
_: {
programs.hyprlock = {
enable = true;
backgrounds = let

View file

@ -26,7 +26,6 @@
$mainMod = SUPER
bind = $mainMod, Q, exec, reboot
bind = $mainMod, Return, exec, ${lib.getExe pkgs.greetd.regreet}
input {
kb_layout = us

View file

@ -1,11 +1,9 @@
{
inputs,
pkgs,
lib,
config,
lib,
...
}: {
imports = [inputs.hypridle.homeManagerModules.default];
services.hypridle = {
enable = true;
ignoreDbusInhibit = false;

View file

@ -1,5 +1,4 @@
{inputs, ...}: {
imports = [inputs.hyprpaper.homeManagerModules.default];
_: {
services.hyprpaper = {
enable = true;
ipc = true;

View file

@ -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"