test
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
node_modules/
|
||||
@girs/
|
||||
@@ -1,17 +0,0 @@
|
||||
import { App } from "astal/gtk3"
|
||||
import style from "./style.scss"
|
||||
import Bar from "./widget/Bar"
|
||||
|
||||
App.start({
|
||||
css: style,
|
||||
instanceName: "js",
|
||||
requestHandler(request, res) {
|
||||
print(request)
|
||||
res("ok")
|
||||
},
|
||||
main: () => {
|
||||
const monitors = App.get_monitors()
|
||||
const primary = monitors.find(m => m.primary) || monitors[0]
|
||||
return Bar(primary)
|
||||
}
|
||||
})
|
||||
@@ -1,3 +0,0 @@
|
||||
$background: #131318;
|
||||
$foreground: #e4e1e9;
|
||||
$primary: #bec2ff;
|
||||
Vendored
-21
@@ -1,21 +0,0 @@
|
||||
declare const SRC: string
|
||||
|
||||
declare module "inline:*" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
|
||||
declare module "*.scss" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
|
||||
declare module "*.blp" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
|
||||
declare module "*.css" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "astal-shell",
|
||||
"dependencies": {
|
||||
"astal": "/home/biscuit/.local/share/ags"
|
||||
}
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
@use "sass:color";
|
||||
@use "./colors" as *;
|
||||
|
||||
// default
|
||||
// $bg: #212223;
|
||||
// $fg: #f1f1f1;
|
||||
// $accent: #378DF7;
|
||||
// $radius: 7px;
|
||||
|
||||
// Kanagawa Theme
|
||||
// $bg: #1F1F28;
|
||||
// $fg: #DCD7BA;
|
||||
// $accent: #C0A36E;
|
||||
// $radius: 7px;
|
||||
|
||||
// mstcl
|
||||
// $bg: #121212;
|
||||
// $fg: #f1f1f1;
|
||||
// $accent: #C0A36E;
|
||||
// $radius: 7px;
|
||||
|
||||
$bg: $background;
|
||||
$fg: $foreground;
|
||||
$accent: $primary;
|
||||
$radius: 7px;
|
||||
|
||||
window.Bar {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background-color: $bg;
|
||||
color: $fg;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
|
||||
label {
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
.Workspaces {
|
||||
button {
|
||||
all: unset;
|
||||
background-color: transparent;
|
||||
|
||||
&:hover label {
|
||||
background-color: color.adjust($fg, $alpha: -0.84);
|
||||
border-color: color.adjust($accent, $alpha: -0.8);
|
||||
}
|
||||
|
||||
&:active label {
|
||||
background-color: color.adjust($fg, $alpha: -0.8)
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
transition: 200ms;
|
||||
padding: 0 8px;
|
||||
margin: 2px;
|
||||
border-radius: $radius;
|
||||
border: 1pt solid transparent;
|
||||
}
|
||||
|
||||
.focused label {
|
||||
color: $accent;
|
||||
border-color: $accent;
|
||||
}
|
||||
}
|
||||
|
||||
.SysTray {
|
||||
margin-right: 8px;
|
||||
|
||||
button {
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.Time {
|
||||
.TimeHM {
|
||||
font-weight: bold;
|
||||
color: $accent;
|
||||
}
|
||||
|
||||
.TimeDate {
|
||||
// color: color.adjust($fg, $lightness: -10%);
|
||||
color: $fg;
|
||||
opacity: 0.85;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.FocusedClient {
|
||||
color: color.adjust($fg, $lightness: -30%);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.Media .Cover {
|
||||
min-height: 1.2em;
|
||||
min-width: 1.2em;
|
||||
border-radius: $radius;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.Battery label {
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.AudioSlider {
|
||||
* {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
icon {
|
||||
margin-right: .6em;
|
||||
}
|
||||
|
||||
& {
|
||||
margin: 0 1em;
|
||||
}
|
||||
|
||||
trough {
|
||||
background-color: color.adjust($fg, $alpha: -0.8);
|
||||
border-radius: $radius;
|
||||
}
|
||||
|
||||
highlight {
|
||||
background-color: $accent;
|
||||
min-height: .8em;
|
||||
border-radius: $radius;
|
||||
}
|
||||
|
||||
slider {
|
||||
background-color: $fg;
|
||||
border-radius: $radius;
|
||||
min-height: 1em;
|
||||
min-width: 1em;
|
||||
margin: -.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"compilerOptions": {
|
||||
"experimentalDecorators": true,
|
||||
"strict": true,
|
||||
"target": "ES2022",
|
||||
"module": "ES2022",
|
||||
"moduleResolution": "Bundler",
|
||||
// "checkJs": true,
|
||||
// "allowJs": true,
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "astal/gtk3",
|
||||
}
|
||||
}
|
||||
@@ -1,189 +0,0 @@
|
||||
import { App } from "astal/gtk3"
|
||||
import { Variable, GLib, bind } from "astal"
|
||||
import { Astal, Gtk, Gdk } from "astal/gtk3"
|
||||
import Hyprland from "gi://AstalHyprland"
|
||||
import Mpris from "gi://AstalMpris"
|
||||
import Battery from "gi://AstalBattery"
|
||||
import Wp from "gi://AstalWp"
|
||||
import Network from "gi://AstalNetwork"
|
||||
import Tray from "gi://AstalTray"
|
||||
|
||||
function SysTray() {
|
||||
const tray = Tray.get_default()
|
||||
|
||||
return <box className="SysTray">
|
||||
{bind(tray, "items").as(items => items.map(item => (
|
||||
<menubutton
|
||||
tooltipMarkup={bind(item, "tooltipMarkup")}
|
||||
usePopover={false}
|
||||
actionGroup={bind(item, "actionGroup").as(ag => ["dbusmenu", ag])}
|
||||
menuModel={bind(item, "menuModel")}>
|
||||
<icon gicon={bind(item, "gicon")} />
|
||||
</menubutton>
|
||||
)))}
|
||||
</box>
|
||||
}
|
||||
|
||||
function Wifi() {
|
||||
const network = Network.get_default()
|
||||
const wifi = bind(network, "wifi")
|
||||
|
||||
return <box visible={wifi.as(Boolean)}>
|
||||
{wifi.as(wifi => wifi && (
|
||||
<icon
|
||||
tooltipText={bind(wifi, "ssid").as(String)}
|
||||
className="Wifi"
|
||||
icon={bind(wifi, "iconName")}
|
||||
/>
|
||||
))}
|
||||
</box>
|
||||
|
||||
}
|
||||
|
||||
function AudioSlider() {
|
||||
const speaker = Wp.get_default()?.audio.defaultSpeaker!
|
||||
|
||||
return <box className="AudioSlider" css="min-width: 140px">
|
||||
<icon icon={bind(speaker, "volumeIcon")} />
|
||||
<slider
|
||||
hexpand
|
||||
onDragged={({ value }) => speaker.volume = value}
|
||||
value={bind(speaker, "volume")}
|
||||
/>
|
||||
</box>
|
||||
}
|
||||
|
||||
function BatteryLevel() {
|
||||
const bat = Battery.get_default()
|
||||
|
||||
return <box className="Battery"
|
||||
visible={bind(bat, "isPresent")}>
|
||||
<icon icon={bind(bat, "batteryIconName")} />
|
||||
<label label={bind(bat, "percentage").as(p =>
|
||||
`${Math.floor(p * 100)} %`
|
||||
)} />
|
||||
</box>
|
||||
}
|
||||
|
||||
function Media() {
|
||||
const mpris = Mpris.get_default()
|
||||
|
||||
return <box className="Media">
|
||||
{bind(mpris, "players").as(ps => ps[0] ? (
|
||||
<box>
|
||||
<box
|
||||
className="Cover"
|
||||
valign={Gtk.Align.CENTER}
|
||||
css={bind(ps[0], "coverArt").as(cover =>
|
||||
`background-image: url('${cover}');`
|
||||
)}
|
||||
/>
|
||||
<label
|
||||
label={bind(ps[0], "metadata").as(() =>
|
||||
`${ps[0].title} - ${ps[0].artist}`
|
||||
)}
|
||||
/>
|
||||
</box>
|
||||
) : (
|
||||
<label label="Biscuit" />
|
||||
))}
|
||||
</box>
|
||||
}
|
||||
|
||||
|
||||
function Workspaces() {
|
||||
const hypr = Hyprland.get_default();
|
||||
|
||||
return (
|
||||
<box className="Workspaces">
|
||||
{bind(hypr, "focusedWorkspace").as((fw) => {
|
||||
if (!fw) return null;
|
||||
|
||||
// Determine the current chunk of 5 visible workspace buttons
|
||||
const currentChunkStart = Math.floor((fw.id - 1) / 5) * 5 + 1;
|
||||
const visibleIds = Array.from({ length: 5 }, (_, i) => currentChunkStart + i);
|
||||
|
||||
return visibleIds.map((id) => {
|
||||
// Try to get the real workspace, fall back to a dummy one if it doesn't exist
|
||||
const ws =
|
||||
hypr.workspaces.find((w) => w.id === id) ??
|
||||
Hyprland.Workspace.dummy(id, null);
|
||||
|
||||
return (
|
||||
<button
|
||||
className={fw.id === id ? "focused" : ""}
|
||||
onClick={() => ws.focus()}
|
||||
>
|
||||
{id}
|
||||
</button>
|
||||
);
|
||||
});
|
||||
})}
|
||||
</box>
|
||||
);
|
||||
}
|
||||
|
||||
function FocusedClient() {
|
||||
const hypr = Hyprland.get_default();
|
||||
const focused = bind(hypr, "focusedClient");
|
||||
|
||||
return (
|
||||
<box className="FocusedClient" visible={focused.as(Boolean)}>
|
||||
{focused.as(client => {
|
||||
if (!client) return null;
|
||||
|
||||
return (
|
||||
<label
|
||||
label={bind(client, "title").as(title => {
|
||||
return title.length > 40
|
||||
? title.slice(0, 37) + "..."
|
||||
: title;
|
||||
})}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</box>
|
||||
);
|
||||
}
|
||||
function Time({ format = "%H:%M|%a %b %d" }) {
|
||||
const time = Variable<string>("").poll(1000, () =>
|
||||
GLib.DateTime.new_now_local().format(format)!
|
||||
);
|
||||
|
||||
return bind(time).as(str => {
|
||||
const [hm, date] = str.split("|");
|
||||
|
||||
return (
|
||||
<box className="Time">
|
||||
<label className="TimeHM" label={hm} />
|
||||
<label className="TimeDate" label={date} />
|
||||
</box>
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export default function Bar(monitor: Gdk.Monitor) {
|
||||
const { TOP, LEFT, RIGHT } = Astal.WindowAnchor
|
||||
|
||||
return <window
|
||||
className="Bar"
|
||||
gdkmonitor={monitor}
|
||||
exclusivity={Astal.Exclusivity.EXCLUSIVE}
|
||||
anchor={TOP | LEFT | RIGHT}>
|
||||
<centerbox>
|
||||
<box hexpand halign={Gtk.Align.START}>
|
||||
<Workspaces />
|
||||
<FocusedClient />
|
||||
</box>
|
||||
<box>
|
||||
<Time />
|
||||
</box>
|
||||
<box hexpand halign={Gtk.Align.END} >
|
||||
<SysTray />
|
||||
<Wifi />
|
||||
<AudioSlider />
|
||||
<BatteryLevel />
|
||||
</box>
|
||||
</centerbox>
|
||||
</window>
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.ags.homeManagerModules.default];
|
||||
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
configDir = ./biscuit;
|
||||
|
||||
extraPackages = let
|
||||
agsPkgs = inputs.ags.packages.${system};
|
||||
in
|
||||
with pkgs; [
|
||||
agsPkgs.battery
|
||||
agsPkgs.hyprland
|
||||
agsPkgs.mpris
|
||||
agsPkgs.wireplumber
|
||||
agsPkgs.notifd
|
||||
agsPkgs.apps
|
||||
agsPkgs.network
|
||||
agsPkgs.tray
|
||||
fzf
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
vim_keys = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,131 +0,0 @@
|
||||
{
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
logo = {
|
||||
padding = {
|
||||
top = 2;
|
||||
left = 1;
|
||||
right = 2;
|
||||
};
|
||||
};
|
||||
|
||||
display = {
|
||||
separator = " ";
|
||||
};
|
||||
|
||||
modules = [
|
||||
# Title
|
||||
{
|
||||
type = "title";
|
||||
format = "{#1}╭───────────── {#}{user-name-colored}";
|
||||
}
|
||||
|
||||
# System Information Header
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}│ {#}System Information";
|
||||
}
|
||||
{
|
||||
type = "os";
|
||||
key = "│ {#keys} OS";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = "│ {#keys} Kernel";
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = "│ {#keys} Uptime";
|
||||
}
|
||||
{
|
||||
type = "packages";
|
||||
key = "│ {#keys} Packages";
|
||||
format = "{all}";
|
||||
}
|
||||
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}│";
|
||||
}
|
||||
|
||||
# Desktop Environment
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}│ {#}Desktop Environment";
|
||||
}
|
||||
{
|
||||
type = "de";
|
||||
key = "│ {#keys} DE";
|
||||
}
|
||||
{
|
||||
type = "wm";
|
||||
key = "│ {#keys} WM";
|
||||
}
|
||||
{
|
||||
type = "wmtheme";
|
||||
key = "│ {#keys} Theme";
|
||||
}
|
||||
{
|
||||
type = "display";
|
||||
key = "│ {#keys} Resolution";
|
||||
}
|
||||
{
|
||||
type = "shell";
|
||||
key = "│ {#keys} Shell";
|
||||
}
|
||||
{
|
||||
type = "terminalfont";
|
||||
key = "│ {#keys} Font";
|
||||
}
|
||||
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}│";
|
||||
}
|
||||
|
||||
# Hardware Information
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}│ {#}Hardware Information";
|
||||
}
|
||||
{
|
||||
type = "cpu";
|
||||
key = "│ {#keys} CPU";
|
||||
}
|
||||
{
|
||||
type = "gpu";
|
||||
key = "│ {#keys} GPU";
|
||||
}
|
||||
{
|
||||
type = "memory";
|
||||
key = "│ {#keys} Memory";
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = "│ {#keys} Disk (/)";
|
||||
folders = "/";
|
||||
}
|
||||
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}│";
|
||||
}
|
||||
|
||||
# Colors
|
||||
{
|
||||
type = "colors";
|
||||
key = "│";
|
||||
symbol = "circle";
|
||||
}
|
||||
|
||||
# Footer
|
||||
{
|
||||
type = "custom";
|
||||
format = "{#1}╰───────────────────────────────╯";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
terminal,
|
||||
...
|
||||
}: {
|
||||
programs.zoxide.enable = true;
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
fish_vi_key_bindings
|
||||
zoxide init fish | source
|
||||
|
||||
'';
|
||||
shellAliases = terminal.shellAliases;
|
||||
|
||||
plugins = with pkgs.fishPlugins; [
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{gitProfile, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
user.name = "${gitProfile.user}";
|
||||
user.email = "${gitProfile.email}";
|
||||
init.defaultBranch = "${gitProfile.defaultBranch}";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
home.packages = [
|
||||
pkgs.heroic
|
||||
];
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{...}: {
|
||||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
||||
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on && agu"; # avoid needing to press a key twice to turn on the display.
|
||||
};
|
||||
|
||||
listener = [
|
||||
# {
|
||||
# timeout = 150;
|
||||
# on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
|
||||
# on-resume = "brightnessctl -r"; # restore monitor backlight.
|
||||
# }
|
||||
# {
|
||||
# timeout = 150;
|
||||
# on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
|
||||
# on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
|
||||
# }
|
||||
# {
|
||||
# timeout = 300;
|
||||
# on-timeout = "loginctl lock-session"; # lock screen when timeout has passed.
|
||||
# }
|
||||
# {
|
||||
# timeout = 330;
|
||||
# on-timeout = "hyprctl dispatch dpms off"; # screen off after 5.5min.
|
||||
# on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on and restore brightness on resume.
|
||||
# }
|
||||
{
|
||||
timeout = 300;
|
||||
on-timeout = "systemctl suspend"; # suspend PC after 30min.
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,225 +0,0 @@
|
||||
{
|
||||
hyprconf,
|
||||
username,
|
||||
terminal,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$term" = "kitty --single-instance";
|
||||
"$browser" = "firefox";
|
||||
|
||||
monitor = hyprconf.monitor;
|
||||
|
||||
exec-once = [
|
||||
"[workspace 20 silent] kitty --single-insance --hold fastfetch"
|
||||
"[workspace 20 silent] firefox"
|
||||
"[workspace 1] kitty --single-instance --hold fastfetch"
|
||||
"pkill gjs & ags run"
|
||||
# "matugen image /home/${username}/.config/nixos/assets/wallpapers/ultrawide-nixos-default.png"
|
||||
"hyprctl setcursor Bibata-Original-Classic 24"
|
||||
];
|
||||
|
||||
general = {
|
||||
gaps_in = 2;
|
||||
gaps_out = 5;
|
||||
border_size = 2;
|
||||
# col.active_border = "#0DB7D4FF";
|
||||
# col.inactive_border = "#31313600";
|
||||
# col = {
|
||||
# "inactive_border" = "rgba(595959aa)";
|
||||
# "active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
# };
|
||||
resize_on_border = false;
|
||||
allow_tearing = false;
|
||||
layout = "dwindle";
|
||||
};
|
||||
decoration = {
|
||||
rounding = 0;
|
||||
rounding_power = 2;
|
||||
active_opacity = 1.0;
|
||||
inactive_opacity = 1.0;
|
||||
|
||||
dim_inactive = true;
|
||||
dim_strength = 0.1;
|
||||
dim_special = 0.8;
|
||||
|
||||
shadow = {
|
||||
enabled = true;
|
||||
range = 4;
|
||||
render_power = 3;
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
vibrancy = 0.1696;
|
||||
};
|
||||
};
|
||||
|
||||
animations = {
|
||||
enabled = true;
|
||||
bezier = [
|
||||
"linear, 0, 0, 1, 1"
|
||||
"md3_standard, 0.2, 0, 0, 1"
|
||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
||||
"crazyshot, 0.1, 1.5, 0.76, 0.92"
|
||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
||||
"menu_decel, 0.1, 1, 0, 1"
|
||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
||||
"md2, 0.4, 0, 0.2, 1"
|
||||
];
|
||||
|
||||
animation = [
|
||||
"windows, 1, 3, md3_decel, popin 60%"
|
||||
"windowsIn, 1, 3, md3_decel, popin 60%"
|
||||
"windowsOut, 1, 3, md3_accel, popin 60%"
|
||||
"border, 1, 10, default"
|
||||
"fade, 1, 3, md3_decel"
|
||||
"layersIn, 1, 3, menu_decel, slide"
|
||||
"layersOut, 1, 1.6, menu_accel"
|
||||
"fadeLayersIn, 1, 2, menu_decel"
|
||||
"fadeLayersOut, 1, 0.5, menu_accel"
|
||||
"workspaces, 1, 7, menu_decel, slide"
|
||||
"specialWorkspace, 1, 3, md3_decel, slidevert"
|
||||
];
|
||||
};
|
||||
|
||||
dwindle = {
|
||||
pseudotile = true;
|
||||
preserve_split = true;
|
||||
};
|
||||
|
||||
master = {
|
||||
new_status = "master";
|
||||
};
|
||||
|
||||
misc = {
|
||||
force_default_wallpaper = -1;
|
||||
disable_hyprland_logo = true;
|
||||
};
|
||||
|
||||
input = {
|
||||
kb_layout = "us";
|
||||
follow_mouse = 1;
|
||||
sensitivity = -0.5;
|
||||
force_no_accel = true;
|
||||
repeat_delay = 250;
|
||||
repeat_rate = 35;
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false;
|
||||
};
|
||||
|
||||
numlock_by_default = true;
|
||||
};
|
||||
|
||||
gestures = {
|
||||
workspace_swipe = false;
|
||||
};
|
||||
|
||||
binds = {
|
||||
workspace_back_and_forth = true;
|
||||
scroll_event_delay = 0;
|
||||
};
|
||||
|
||||
device = [
|
||||
{
|
||||
name = "epic-mouse-v1";
|
||||
sensitivity = -0.5;
|
||||
}
|
||||
];
|
||||
|
||||
bind =
|
||||
[
|
||||
"$mod, Return, exec, $term"
|
||||
"$mod, Q, killactive,"
|
||||
"$mod, M, exit,"
|
||||
"$mod, E, exec, $fileManager"
|
||||
"$mod, V, togglefloating,"
|
||||
"$mod, R, exec, $menu"
|
||||
"$mod, P, pseudo,"
|
||||
"$mod, B, togglesplit,"
|
||||
"$mod, W, exec, $browser"
|
||||
|
||||
"$mod, H, movefocus, l"
|
||||
"$mod, L, movefocus, r"
|
||||
"$mod, K, movefocus, u"
|
||||
"$mod, J, movefocus, d"
|
||||
|
||||
"$mod SHIFT, K, movewindow, u"
|
||||
"$mod SHIFT, J, movewindow, d"
|
||||
"$mod SHIFT, H, movewindow, l"
|
||||
"$mod SHIFT, L, movewindow, r"
|
||||
|
||||
"$mod CTRL, K, resizeactive, 0 -50"
|
||||
"$mod CTRL, J, resizeactive, 0 50"
|
||||
"$mod CTRL, H, resizeactive, -50 0"
|
||||
"$mod CTRL, L, resizeactive, 50 0"
|
||||
|
||||
"$mod, S, togglespecialworkspace, magic"
|
||||
"$mod SHIFT, S, movetoworkspace, special:magic"
|
||||
|
||||
"$mod, mouse_down, workspace, e+1"
|
||||
"$mod, mouse_up, workspace, e-1"
|
||||
|
||||
"$mod, F, fullscreen, 0"
|
||||
|
||||
"$mod, Space, exec, pkill rofi || rofi -show drun"
|
||||
"$mod, C, exec, pkill rofi || rofi -show calc -modi calc -no-show-match -no-sort"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
builtins.concatLists (builtins.genList (
|
||||
i: let
|
||||
ws = i + 1;
|
||||
in [
|
||||
"$mod, ${toString ws}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
)
|
||||
9)
|
||||
)
|
||||
++ [
|
||||
"$mod, 0, workspace, 10"
|
||||
"$mod, 0, movetoworkspace, 10"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||
",XF86MonBrightnessUp, exec, brightnessctl s 10%+"
|
||||
",XF86MonBrightnessDown, exec, brightnessctl s 10%-"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
",XF86AudioNext, exec, playerctl next"
|
||||
",XF86AudioPause, exec, playerctl play-pause"
|
||||
",XF86AudioPlay, exec, playerctl play-pause"
|
||||
",XF86AudioPrev, exec, playerctl previous"
|
||||
];
|
||||
env = [
|
||||
"HYPRCURSOR_THEME, Bibata-Original-Classic"
|
||||
"HYPRCURSOR_SIZE, 24"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{...}: {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{terminal, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
themeFile = "kanagawa";
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
window_padding_width = 10;
|
||||
|
||||
font_size = terminal.termSize;
|
||||
font_family = terminal.termFont;
|
||||
bold_font = "auto";
|
||||
italic_font = "auto";
|
||||
bold_italic_font = "auto";
|
||||
# optimization
|
||||
input_delay = 0;
|
||||
repaint_delay = 2;
|
||||
sync_to_monitor = false;
|
||||
wayland_enable_ime = false;
|
||||
allow_remote_control = true;
|
||||
};
|
||||
extraConfig = "include colors.conf";
|
||||
};
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
[config]
|
||||
# If set to enabled, it will check for updates when you run the matugen command, notifying you that an update is avaiable.
|
||||
# WARNING: Matugen needs to be compiled with the `update-informer` feature for this to work.
|
||||
version_check = false
|
||||
|
||||
[config.wallpaper]
|
||||
# The base command to run for applying the wallpaper, shouldn't have spaces in it.
|
||||
command = "swww"
|
||||
|
||||
# The arguments that will be provided to the command.
|
||||
# Keywords like {{ mode }} or anything that works inside of hooks doesn't work here.
|
||||
# The last argument will be the image path.
|
||||
arguments = ["img", "--transition-type", "center", "--transition-fps", "120"]
|
||||
|
||||
# For example, killing the wallpaper daemon. Usage is like a normal hook.
|
||||
# pre_hook = ""
|
||||
|
||||
[config.custom_keywords]
|
||||
test = "aaaa"
|
||||
|
||||
[templates.name1]
|
||||
# Relative paths will be resolved from the path `config.toml` is in.
|
||||
input_path = "./colors.whatever-extension"
|
||||
output_path = "./a/colors-generated.whatever-extension"
|
||||
|
||||
# This will use a different input path depending on what mode you use.
|
||||
# input_path_modes = { dark = "./colors.whatever-extension", light = "./colors.whatever-extension" }
|
||||
|
||||
# This will compare all of the colors inside the array with the color you set as `compare_to`, and returns the closest color to it.
|
||||
# You can then use `{{closest_color}}` inside templates and hooks.
|
||||
colors_to_compare = [
|
||||
{ name = "black", color = "#000000" },
|
||||
{ name = "red", color = "#ff0000" },
|
||||
{ name = "maroon", color = "#800000" },
|
||||
{ name = "yellow", color = "#ffff00" },
|
||||
{ name = "olive", color = "#808000" },
|
||||
{ name = "lime", color = "#00ff00" },
|
||||
{ name = "green", color = "#008000" },
|
||||
{ name = "aqua", color = "#00ffff" },
|
||||
{ name = "teal", color = "#008080" },
|
||||
{ name = "blue", color = "#0000ff" },
|
||||
{ name = "navy", color = "#000080" },
|
||||
{ name = "fuchsia", color = "#ff00ff" },
|
||||
{ name = "purple", color = "#800080" },
|
||||
]
|
||||
compare_to = "{{colors.primary.default.hex}}"
|
||||
|
||||
# Runs before the template is exported. You can use keywords here,
|
||||
pre_hook = 'echo "source color {{colors.source_color.default.hex}}, source image {{image}}, closest color {{closest_color}}"'
|
||||
# Runs after the template is exported. You can use keywords here.
|
||||
post_hook = 'echo "after gen"'
|
||||
|
||||
# Only hex values
|
||||
# https://m3.material.io/styles/color/advanced/adjust-existing-colors#1cc12e43-237b-45b9-8fe0-9a3549c1f61e
|
||||
# Blend is set to true by default.
|
||||
[config.custom_colors]
|
||||
green = "#00ff00"
|
||||
red = "#ff0000"
|
||||
blue = { color = "#0000ff", blend = false }
|
||||
|
||||
### --- my config
|
||||
[templates.kitty]
|
||||
input_path = '~/.config/nixos/pkgs/matugen/custom/templates/kitty.conf'
|
||||
output_path = '~/.config/kitty/colors.conf'
|
||||
post_hook = "kitty @ set-colors -a -c ~/.config/kitty/colors.conf"
|
||||
|
||||
[templates.ags]
|
||||
input_path = '~/.config/nixos/pkgs/matugen/custom/templates/ags.scss'
|
||||
output_path = '~/.config/nixos/pkgs/ags/biscuit/colors.scss'
|
||||
post_hook = "pkill gjs & ags run ~/.config/nixos/pkgs/ags/biscuit/app.ts & disown (jobs -p) &"
|
||||
@@ -1,3 +0,0 @@
|
||||
$background: {{colors.surface.dark.hex}};
|
||||
$foreground: {{colors.on_surface.dark.hex}};
|
||||
$primary: {{colors.primary.dark.hex}};
|
||||
@@ -1,41 +0,0 @@
|
||||
cursor {{colors.on_surface.default.hex}}
|
||||
cursor_text_color {{colors.on_surface_variant.default.hex}}
|
||||
|
||||
foreground {{colors.on_surface.default.hex}}
|
||||
background {{colors.surface.default.hex}}
|
||||
selection_foreground {{colors.on_secondary.default.hex}}
|
||||
selection_background {{colors.secondary_fixed_dim.default.hex}}
|
||||
url_color {{colors.primary.default.hex}}
|
||||
|
||||
# black
|
||||
color8 #262626
|
||||
color0 #4c4c4c
|
||||
|
||||
# red
|
||||
color1 #ac8a8c
|
||||
color9 #c49ea0
|
||||
|
||||
# green
|
||||
color2 #8aac8b
|
||||
color10 #9ec49f
|
||||
|
||||
# yellow
|
||||
color3 #aca98a
|
||||
color11 #c4c19e
|
||||
|
||||
# blue
|
||||
/* color4 #8f8aac */
|
||||
color4 {{colors.primary.default.hex}}
|
||||
color12 #a39ec4
|
||||
|
||||
# magenta
|
||||
color5 #ac8aac
|
||||
color13 #c49ec4
|
||||
|
||||
# cyan
|
||||
color6 #8aacab
|
||||
color14 #9ec3c4
|
||||
|
||||
# white
|
||||
color15 #e7e7e7
|
||||
color7 #f0f0f0
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.matugen.nixosModules.default];
|
||||
home.file.".config/matugen/config.toml" = {
|
||||
source = builtins.toPath ./custom/config.toml;
|
||||
};
|
||||
}
|
||||
@@ -1,174 +0,0 @@
|
||||
{
|
||||
plugins = {
|
||||
alpha = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "text";
|
||||
val = [
|
||||
" █████ █ ██"
|
||||
" ██████ ██ ████ █ █"
|
||||
" ██ █ █ ██ ████ ██ ███"
|
||||
" █ █ █ ██ █ █ ██ █"
|
||||
" █ █ ██ █ ████ ██ ███"
|
||||
" ██ ██ ██ █ ███ █ ███ █ ██ ███ ███ ███ ████ ████"
|
||||
" ██ ██ ██ █ █ ███ █ ████ ██ ███ ███ ███ ████ ███ █"
|
||||
" ██ ██ ██ █ █ ███ ██ ██ ██ ██ ██ ██ ████ ████"
|
||||
" ██ ██ ██ █ ██ █████ ██ ██ ██ ██ ██ ██ ██"
|
||||
" ██ ██ ██ █ ████████ ██ ██ ██ ██ ██ ██ ██ ██"
|
||||
" █ ██ ███ ███████ ██ ██ ██ ██ ██ ██ ██ ██"
|
||||
" █ ███ ██ ██ ██ ██ █ ██ ██ ██ ██"
|
||||
" ████ ██ ████ █ ██████ ███████ ██ ██ ██ ██"
|
||||
" █ █████ ███████ ████ █████ ███ █ ███ ███ ███"
|
||||
" █ ██ █████ ███ ███ ███ ███"
|
||||
" █"
|
||||
" █"
|
||||
" ██"
|
||||
];
|
||||
opts = {
|
||||
position = "center";
|
||||
hl = "Type";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 4;
|
||||
}
|
||||
{
|
||||
type = "group";
|
||||
val = [
|
||||
{
|
||||
type = "button";
|
||||
val = " New File ";
|
||||
on_press.__raw = "function() vim.cmd[[ene]] end";
|
||||
opts = {
|
||||
shortcut = "n";
|
||||
keymap = [
|
||||
"n"
|
||||
"n"
|
||||
"<cmd>ene<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Find File ";
|
||||
opts = {
|
||||
shortcut = "f";
|
||||
keymap = [
|
||||
"n"
|
||||
"f"
|
||||
"<cmd>lua require('fzf-lua').files({ cwd = vim.loop.cwd() })<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Recent Files ";
|
||||
on_press.__raw = "function() require('telescope.builtin').oldfiles() end";
|
||||
opts = {
|
||||
shortcut = "r";
|
||||
keymap = [
|
||||
"n"
|
||||
"r"
|
||||
"<cmd>lua require('fzf-lua').oldfiles({ cwd = vim.loop.cwd() })<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Find Text ";
|
||||
on_press.__raw = "function() require('telescope.builtin').live_grep() end";
|
||||
opts = {
|
||||
shortcut = "g";
|
||||
keymap = [
|
||||
"n"
|
||||
"g"
|
||||
"<cmd>lua require('fzf-lua').live_grep()<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Quit Neovim ";
|
||||
on_press.__raw = "function() vim.cmd[[qa]] end";
|
||||
opts = {
|
||||
shortcut = "q";
|
||||
keymap = [
|
||||
"n"
|
||||
"q"
|
||||
"<cmd>qa<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# `plugins.mini.enable` with `plugins.mini.modules.icons` and `plugins.mini.mockDevIcons`.
|
||||
# plugins.web-devicons.enable = true;
|
||||
plugins.mini = {
|
||||
enable = true;
|
||||
mockDevIcons = true;
|
||||
modules = [
|
||||
];
|
||||
};
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nix-neovim = inputs.nix-neovim.packages.${pkgs.system}.default;
|
||||
in {
|
||||
programs.neovim.enable = false;
|
||||
home.packages = [
|
||||
nix-neovim
|
||||
pkgs.lazygit
|
||||
# ripgrep
|
||||
];
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
plugins = with pkgs; [
|
||||
rofi-calc
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Colors
|
||||
**/
|
||||
|
||||
* {
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
@@ -1,171 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun";
|
||||
show-icons: true;
|
||||
display-drun: "";
|
||||
drun-display-format: "{name}";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
@import "shared/colors.rasi"
|
||||
@import "shared/fonts.rasi"
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 400px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 15px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
children: [ "prompt", "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "::";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 6;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 5px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 5px ;
|
||||
handle-color: @selected;
|
||||
border-radius: 0px;
|
||||
background-color: @background-alt;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 32px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
error-message {
|
||||
padding: 15px;
|
||||
border: 2px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
highlight: none;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
## Author : Aditya Shakya (adi1090x)
|
||||
## Github : @adi1090x
|
||||
#
|
||||
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
|
||||
#
|
||||
## Available Styles
|
||||
#
|
||||
## style-1 style-2 style-3 style-4 style-5
|
||||
## style-6 style-7 style-8 style-9 style-10
|
||||
## style-11 style-12 style-13 style-14 style-15
|
||||
|
||||
dir="$HOME/.config/wofi/launcher/config.rasi"
|
||||
theme='style-1'
|
||||
|
||||
## Run
|
||||
wofi \
|
||||
-show drun \
|
||||
-theme ${dir}/${theme}.rasi
|
||||
@@ -1,18 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Colors
|
||||
*
|
||||
* Available Colors Schemes
|
||||
*
|
||||
* adapta catppuccin everforest navy paper
|
||||
* arc cyberpunk gruvbox nord solarized
|
||||
* black dracula lovelace onedark yousai
|
||||
*
|
||||
**/
|
||||
|
||||
/* Import color-scheme from `colors` directory */
|
||||
|
||||
@import "~/.config/wofi/colors/onedark.rasi"
|
||||
@@ -1,12 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Fonts
|
||||
*
|
||||
**/
|
||||
|
||||
* {
|
||||
font: "Iosevka Nerd Font 10";
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
{lib, ...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
format = lib.concatStrings [
|
||||
"$username"
|
||||
"$hostname"
|
||||
"$directory"
|
||||
"$git_branch"
|
||||
"$git_state"
|
||||
"$git_status"
|
||||
"$cmd_duration"
|
||||
"$line_break"
|
||||
"$python"
|
||||
"$character"
|
||||
];
|
||||
|
||||
directory = {
|
||||
style = "blue";
|
||||
};
|
||||
|
||||
character = {
|
||||
success_symbol = "[→](purple)";
|
||||
error_symbol = "[→](red)";
|
||||
vimcmd_symbol = "[←](green)";
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
format = "[$branch]($style)";
|
||||
style = "bright-black";
|
||||
};
|
||||
git_status = {
|
||||
format = "[(*$conflicted$untracked$modified$staged$renamed$deleted) $ahead_behind$stashed]($style)";
|
||||
style = "cyan";
|
||||
conflicted = "";
|
||||
untracked = "";
|
||||
modified = "";
|
||||
staged = "";
|
||||
renamed = "";
|
||||
deleted = "";
|
||||
stashed = "≡";
|
||||
};
|
||||
git_state = {
|
||||
format = "([$state( $progress_current/$progress_total)]($style)) ";
|
||||
style = "bright-black";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
format = "[$duration]($style) ";
|
||||
style = "yellow";
|
||||
};
|
||||
|
||||
python = {
|
||||
format = "[$virtualenv]($style) ";
|
||||
style = "bright-black";
|
||||
};
|
||||
};
|
||||
};
|
||||
# home.file.".config/starship.toml" = {
|
||||
# source = builtins.toPath ./pure.toml;
|
||||
# };
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{...}: {
|
||||
services.swww.enable = true;
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
@@ -1,229 +0,0 @@
|
||||
{ username, hostname, ... }: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = [
|
||||
{
|
||||
margin-top = 10;
|
||||
margin-left = 10;
|
||||
margin-right = 10;
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-left = [
|
||||
"custom/start"
|
||||
"hyprland/submap"
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"temperature"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"power-profiles-daemon"
|
||||
"clock"
|
||||
];
|
||||
"cpu" = {
|
||||
states = {
|
||||
critical = 85;
|
||||
};
|
||||
interval = 1;
|
||||
format = " {usage:2}%";
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"memory" = {
|
||||
states = {
|
||||
critical = 85;
|
||||
};
|
||||
interval = 1;
|
||||
format = " {percentage}%";
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"disk" = {
|
||||
states = {
|
||||
critical = 85;
|
||||
};
|
||||
interval = 5;
|
||||
format = " {percentage_used}%";
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"network" = {
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
format-disabled = "";
|
||||
tooltip = false;
|
||||
on-click = "rofi-network-manager";
|
||||
};
|
||||
"temperature" = {
|
||||
critical-threshold = 80;
|
||||
format = " {temperatureC}°C";
|
||||
interval = 1;
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"power-profiles-daemon" = {
|
||||
format = "{icon} {profile}";
|
||||
format-icons = {
|
||||
performance = "";
|
||||
power-saver = "";
|
||||
balanced = "";
|
||||
};
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-down = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-up = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
icon = true;
|
||||
max-length = 45;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = "${username}@${hostname}";
|
||||
"~" = "${username}@${hostname}";
|
||||
};
|
||||
on-click-right = "hyprctl dispatch fullscreen 0";
|
||||
on-click-middle = "hyprctl dispatch killactive";
|
||||
on-click = "hyprctl dispatch fullscreen 1";
|
||||
};
|
||||
"hyprland/submap" = {
|
||||
format = " {}";
|
||||
on-click = "hyprctl dispatch submap reset";
|
||||
};
|
||||
"clock" = {
|
||||
format = "{:%b %d, %I:%M %p}";
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"taskbar" = {
|
||||
icon-size = 10;
|
||||
icon-theme = "Papirus-Dark";
|
||||
on-click = "activate";
|
||||
on-click-right = "fullscreen";
|
||||
on-click-middle = "close";
|
||||
on-scroll-up = "maximize";
|
||||
on-scroll-down = "minimize";
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {volume}% {format_source_muted}";
|
||||
format-muted = " {volume}% {format_source_muted}";
|
||||
format-source = "";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
interval = 1;
|
||||
on-click = "";
|
||||
};
|
||||
"custom/start" = {
|
||||
format = "";
|
||||
on-click-right = "rofi -show power-menu -modi power-menu:rofi-power-menu";
|
||||
on-click = "rofi -show drun";
|
||||
};
|
||||
}
|
||||
];
|
||||
style = ''
|
||||
* {
|
||||
font-size: 12px;
|
||||
font-family: Font Awesome, monospace;
|
||||
font-weight: bold;
|
||||
color: @text;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(0,0,0,0);
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-radius: 0px;
|
||||
margin: 0px;
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button:hover, #custom-start:hover, #window:hover {
|
||||
border: none;
|
||||
outline: none;
|
||||
background: none;
|
||||
color: @text;
|
||||
background-size: 300% 300%;
|
||||
background: @surface0;
|
||||
}
|
||||
|
||||
#workspaces button.active, #submap {
|
||||
background: @surface1;
|
||||
}
|
||||
|
||||
#custom-start {
|
||||
padding: 0px 5px;
|
||||
color: @sky;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#window, #submap {
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.modules-left, .modules-right {
|
||||
background-color: @crust;
|
||||
border: 2px solid @surface1;
|
||||
border-radius: 10px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
#submap, #workspaces, #cpu, #memory, #disk, #clock, #window, #tray, #pulseaudio, #battery, #network, #temperature, #power-profiles-daemon, #custom-exit, #custom-start {
|
||||
margin: 0 5px;
|
||||
}
|
||||
.critical, .muted, .performance {
|
||||
color: @red;
|
||||
}
|
||||
.warning, .urgent {
|
||||
color: @yellow;
|
||||
}
|
||||
.charging, .plugged, .power-saver {
|
||||
color: @green;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#ffdd86",
|
||||
"style": "plain",
|
||||
"template": "{{ .UserName }}@{{ .HostName }} ",
|
||||
"type": "session"
|
||||
},
|
||||
{
|
||||
"foreground": "#42a9ff",
|
||||
"style": "plain",
|
||||
"properties": {
|
||||
"style": "full"
|
||||
},
|
||||
"template": "{{ .Path }} ",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"branch_icon": "",
|
||||
"fetch_status": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": "git:{{ if or (.Working.Changed) (.Staging.Changed) (gt .StashCount 0) }}<#ffdd86>{{ .HEAD }}</>{{ else }}{{ .HEAD }}{{ end }}{{ if .Staging.Changed }} <#98c379>{{ .Staging.String }}</>{{ end }}{{ if .Working.Changed }} <#d16971>{{ .Working.String }}</>{{ end }}",
|
||||
"type": "git"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#ffdd86",
|
||||
"foreground_templates": [
|
||||
"{{ if gt .Code 0 }}#42a9ff{{ end }}"
|
||||
],
|
||||
"properties": {
|
||||
"always_enabled": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": "> ",
|
||||
"type": "status"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
}
|
||||
],
|
||||
"version": 3
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
terminal,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
zoxide
|
||||
];
|
||||
|
||||
programs.zsh.enable = true;
|
||||
programs.zoxide.enable = true;
|
||||
|
||||
programs.zsh = {
|
||||
enableCompletion = false;
|
||||
syntaxHighlighting.enable = false;
|
||||
shellAliases = terminal.shellAliases;
|
||||
history.size = 10000;
|
||||
antidote = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"MichaelAquilina/zsh-autoswitch-virtualenv"
|
||||
"jeffreytse/zsh-vi-mode"
|
||||
"zdharma-continuum/fast-syntax-highlighting kind:defer"
|
||||
"zsh-users/zsh-autosuggestions kind:defer"
|
||||
"zsh-users/zsh-history-substring-search kind:defer"
|
||||
];
|
||||
};
|
||||
initContent = ''
|
||||
# zsh-autocomplete
|
||||
# bindkey -M menuselect '^M' .accept-line # run code when selected completion
|
||||
|
||||
autoload -Uz compinit
|
||||
if [ "$(date +'%j')" != "$(stat -f '%Sm' -t '%j' ~/.zcompdump 2>/dev/null)" ]; then
|
||||
compinit
|
||||
else
|
||||
compinit -C
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user