Compare commits

...
62 Commits
Author SHA1 Message Date
Sweetbread a5d2aad596 fix: change nick 2025-04-09 17:30:37 +03:00
Sweetbread 56add43822 feat: yggdrasil 2025-04-09 17:30:37 +03:00
Sweetbread d524383340 style: cursor 2025-04-09 17:30:37 +03:00
Sweetbread 51566b7224 style: font 2025-04-09 17:30:37 +03:00
Sweetbread 2d322ab1f2 system: update 2025-04-09 17:30:37 +03:00
Sweetbread 8c39e606e3 feat(yazi): add d drive shortcut 2025-04-03 23:39:04 +03:00
Sweetbread d275bc88b2 feat: add my custom dns server 2025-04-03 23:39:04 +03:00
Sweetbread 3acbf43b4e feat: add pulsemixer 2025-04-03 23:39:04 +03:00
Sweetbread 729fe36326 fix: brightness setting 2025-04-03 23:39:04 +03:00
Sweetbread 530be0cf44 feat: kitty to ghostty 2025-04-03 23:39:04 +03:00
Sweetbread 6105e157c7 pkgs: add some utils 2025-04-03 23:39:04 +03:00
Sweetbread 4b0e3a61e9 feat(ags): add battery bar 2025-04-03 23:39:04 +03:00
Sweetbread 680b3cd3d6 fix(ags): wifi widget 2025-04-03 23:39:04 +03:00
Sweetbread 830336ee06 feat: postgres 2025-04-03 23:39:04 +03:00
Sweetbread 01bc1610bf system: Update 2025-03-13 15:11:27 +03:00
Sweetbread d26818f47a git: Change mail 2025-03-12 20:52:32 +03:00
Sweetbread ca50e2af2b pkgs: Add prismlauncher 2025-03-10 16:42:31 +03:00
Sweetbread 0cc88081d1 system: Update 2025-03-01 22:41:11 +03:00
Chest dee91dd001 Add pkgs 2025-03-01 22:22:27 +03:00
Sweetbread 510e179b78 system: Update 2025-02-13 23:53:19 +03:00
Sweetbread ea39ab9992 perf: Home-manager to module
feat: Optionise config
2025-02-13 23:53:19 +03:00
Sweetbread f2c215460b fix(helix): No end newline 2025-01-31 19:45:16 +03:00
Sweetbread 96d83ec1b4 pkgs: Add trashy 2025-01-27 13:57:18 +03:00
Sweetbread a3f6c55b93 style: Change opacity and wallpaper 2025-01-27 13:55:48 +03:00
Sweetbread 879ea3474a system: Update 2025-01-27 13:55:48 +03:00
Sweetbread 41cf1a5894 pkgs: litecli 2025-01-27 13:55:48 +03:00
Sweetbread b294b8c8ee feat(zsh): lg alias 2025-01-27 13:55:48 +03:00
Sweetbread e677754de3 style: Reduce gap 2025-01-25 20:00:59 +03:00
Sweetbread 4f11c8139f wip: console
Font changes to default after reload
2025-01-25 19:38:13 +03:00
Sweetbread e46c205fe3 ags: To derivation 2025-01-25 19:38:13 +03:00
Sweetbread 290b694877 pkgs: Udiskie 2025-01-25 19:38:13 +03:00
Sweetbread 8ad47d16eb system: Update 2025-01-25 19:38:13 +03:00
Sweetbread e3f8430193 pkgs: Remove extra packages 2025-01-25 19:38:13 +03:00
Sweetbread 46d4249637 style: Btop 2025-01-25 19:38:13 +03:00
Sweetbread 8c1f94d05a feat(devshell): Add pkgs for helix and switching to zsh 2025-01-25 19:38:13 +03:00
Sweetbread bac068cf69 fix(starship): Remove extra space 2025-01-25 19:38:13 +03:00
Sweetbread 6cbc8b393d pkgs: Update aagl 2025-01-25 19:38:13 +03:00
Sweetbread ac3eee4bb0 pkgs: git-lfs 2025-01-25 19:38:13 +03:00
Sweetbread 045f44e2d2 pkgs: To 24.11 2025-01-25 19:38:13 +03:00
Sweetbread a198789a17 ags: Add keyboard layout widget 2025-01-25 19:38:13 +03:00
Sweetbread 7fa285f0cc docs: Change screenshot 2025-01-25 19:38:13 +03:00
Sweetbread bebf7e8b6d pkgs: Add Pycharm to chest 2025-01-25 19:38:13 +03:00
Sweetbread 6f2c1bed14 ags: style 2025-01-25 19:38:13 +03:00
Sweetbread dfa96985d6 pkgs: Remove dev packages 2025-01-25 19:38:13 +03:00
Sweetbread 2a6196cc70 fix: Show GPU stats in BTop 2025-01-25 19:38:13 +03:00
Sweetbread 23a0e060ef grub: Add theme 2025-01-25 19:38:13 +03:00
Sweetbread 040923c626 fix: Bootloader 2025-01-25 19:38:13 +03:00
Sweetbread 2c3de69e72 fix: Icons 2025-01-25 19:38:13 +03:00
Sweetbread 8ea1207bb9 feat: ags 2025-01-10 22:15:02 +03:00
Sweetbread 21fe030dc7 pkgs: New utils 2024-12-28 20:00:44 +03:00
Sweetbread f6950c7e78 system: Update 2024-12-28 20:00:44 +03:00
Sweetbread f76b88cf4b vpn: Update 2024-12-28 20:00:44 +03:00
Sweetbread 6e5568e330 pkgs: Add rtorrent 2024-12-28 20:00:44 +03:00
Sweetbread 1308aae228 syncthing: New device 2024-12-28 20:00:44 +03:00
Sweetbread ded07cb14a pkgs: Add aseprite 2024-12-28 20:00:44 +03:00
Sweetbread 81ab925d88 pkgs: Add libreoffice 2024-12-28 20:00:44 +03:00
Sweetbread e909e76c9e develop: Add Rust 2024-12-28 20:00:44 +03:00
Sweetbread 3fc9f416f9 feat: Drag and Drop in yazi 2024-12-28 20:00:44 +03:00
Sweetbread c3672ea118 system: Update 2024-12-28 20:00:44 +03:00
Sweetbread 1dee7a5769 vpn: Update 2024-12-28 20:00:44 +03:00
Sweetbread e0a0721dea pkgs: Flakify AAGL 2024-12-28 20:00:44 +03:00
Sweetbread 5cad49555e pkgs: Syncthing 2024-12-28 20:00:44 +03:00
119 changed files with 1624 additions and 1996 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
screenshot.png filter=lfs diff=lfs merge=lfs -text
Generated
+410 -245
View File
File diff suppressed because it is too large. Load diff
+34 -56
View File
@@ -3,26 +3,29 @@
nixConfig = { nixConfig = {
extra-substituters = [ extra-substituters = [
"https://nix-community.cachix.org"
"https://cache.garnix.io" "https://cache.garnix.io"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"https://ezkea.cachix.org"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
]; ];
}; };
inputs = { inputs = {
aagl.url = "github:ezKEa/aagl-gtk-on-nix";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/30b27177a006d425120fb850a64ceb792636501a";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-fixed.url = "github:nixos/nixpkgs/b27ba4eb322d9d2bf2dc9ada9fd59442f50c8d7c";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
ags.url = "github:Aylur/ags"; ags.url = "github:Aylur/ags";
ayugram-desktop.url = "github:/ayugram-port/ayugram-desktop/release?submodules=1"; ayugram-desktop.url = "github:/ayugram-port/ayugram-desktop/release?submodules=1";
tlock.url = "git+https://github.com/eklairs/tlock?submodules=1";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins = { hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins"; url = "github:hyprwm/hyprland-plugins";
@@ -35,12 +38,8 @@
}; };
}; };
outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... }@inputs: let outputs = { self, nixpkgs, nixpkgs-stable, nixpkgs-fixed, home-manager, ... }@inputs: let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [ inputs.hyprpanel.overlay ];
};
in { in {
nixosConfigurations = { nixosConfigurations = {
Rias = nixpkgs.lib.nixosSystem { Rias = nixpkgs.lib.nixosSystem {
@@ -49,12 +48,13 @@
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
pkgs-fixed = import nixpkgs-fixed {
inherit system;
config.allowUnfree = true;
};
inherit inputs system; inherit inputs system;
}; };
modules = [ modules = [ ./host/Rias/configuration.nix ];
./nixos/hosts/Rias/configuration.nix
inputs.sops-nix.nixosModules.sops
];
}; };
Senko = nixpkgs.lib.nixosSystem { Senko = nixpkgs.lib.nixosSystem {
@@ -63,12 +63,13 @@
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
pkgs-fixed = import nixpkgs-fixed {
inherit system;
config.allowUnfree = true;
};
inherit inputs system; inherit inputs system;
}; };
modules = [ modules = [ ./host/Senko/configuration.nix ];
./nixos/hosts/Senko/configuration.nix
inputs.sops-nix.nixosModules.sops
];
}; };
Eclipse = nixpkgs.lib.nixosSystem { Eclipse = nixpkgs.lib.nixosSystem {
@@ -77,49 +78,26 @@
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
pkgs-fixed = import nixpkgs-fixed {
inherit system;
config.allowUnfree = true;
};
inherit inputs system; inherit inputs system;
}; };
modules = [ modules = [ ./host/Eclipse/configuration.nix ];
./nixos/hosts/Eclipse/configuration.nix
inputs.sops-nix.nixosModules.sops
];
}; };
}; };
homeConfigurations = { devShells."${system}".default = let
sweetbread = home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { inherit system; };
inherit pkgs; in pkgs.mkShell {
extraSpecialArgs = { shellHook = "zsh";
inherit inputs; packages = with pkgs; [
pkgs-stable = import nixpkgs-stable { cargo
inherit system; rustc
config.allowUnfree = true; rust-analyzer
}; lldb
}; ];
modules = [
./home-manager/users/sweetbread/home.nix
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeManagerModules.stylix
inputs.ags.homeManagerModules.default
];
};
chest = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs;
pkgs-stable = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
};
};
modules = [
./home-manager/users/chest/home.nix
inputs.sops-nix.homeManagerModules.sops
inputs.stylix.homeManagerModules.stylix
inputs.ags.homeManagerModules.default
];
};
}; };
}; };
} }
-325
View File
@@ -1,325 +0,0 @@
{ inputs, pkgs, config, ... }: {
# imports = [ inputs.ags.homeManagerModules.default ];
programs.ags = {
enable = true;
# null or path, leave as null if you don't want hm to manage the config
configDir = null;
# additional packages to add to gjs's runtime
extraPackages = with pkgs; [
gtksourceview
webkitgtk
accountsservice
];
};
xdg.configFile."ags/config.js".text = /*js*/ ''
const hyprland = await Service.import("hyprland")
const notifications = await Service.import("notifications")
const mpris = await Service.import("mpris")
const audio = await Service.import("audio")
const battery = await Service.import("battery")
const systemtray = await Service.import("systemtray")
const date = Variable("", {
poll: [1000, 'date "+%H:%M:%S %b %e."'],
})
// widgets can be only assigned as a child in one container
// so to make a reuseable widget, make it a function
// then you can simply instantiate one by calling it
function Workspaces() {
const activeId = hyprland.active.workspace.bind("id")
const workspaces = hyprland.bind("workspaces")
.as(ws => ws.map(({ id }) => Widget.Button({
on_clicked: () => hyprland.messageAsync(`dispatch workspace ''${id}`),
child: Widget.Label(`''${id}`),
class_name: activeId.as(i => `''${i === id ? "focused" : ""}`),
})))
return Widget.Box({
class_name: "workspaces",
children: workspaces,
})
}
function ClientTitle() {
return Widget.Label({
class_name: "client-title",
label: hyprland.active.client.bind("title"),
})
}
function Clock() {
return Widget.Label({
class_name: "clock",
label: date.bind(),
})
}
// we don't need dunst or any other notification daemon
// because the Notifications module is a notification daemon itself
function Notification() {
const popups = notifications.bind("popups")
return Widget.Box({
class_name: "notification",
visible: popups.as(p => p.length > 0),
children: [
Widget.Icon({
icon: "preferences-system-notifications-symbolic",
}),
Widget.Label({
label: popups.as(p => p[0]?.summary || ""),
}),
],
})
}
function Media() {
const label = Utils.watch("default", mpris, "player-changed", () => {
if (mpris.players[0]) {
const { track_artists, track_title } = mpris.players[0]
return `''${track_artists.join(", ")} - ''${track_title}`
} else {
return "Nothing is playing"
}
})
print(Object.values(label))
if (label != "default") {
return Widget.Button({
class_name: "media",
on_primary_click: () => mpris.getPlayer("")?.playPause(),
on_scroll_up: () => mpris.getPlayer("")?.next(),
on_scroll_down: () => mpris.getPlayer("")?.previous(),
child: Widget.Label({ label }),
})
}
}
function Volume() {
const icons = {
101: "overamplified",
67: "high",
34: "medium",
1: "low",
0: "muted",
}
function getIcon() {
const icon = audio.speaker.is_muted ? 0 : [101, 67, 34, 1, 0].find(
threshold => threshold <= audio.speaker.volume * 100)
return `audio-volume-''${icons[icon]}-symbolic`
}
const icon = Widget.Icon({
icon: Utils.watch(getIcon(), audio.speaker, getIcon),
})
const slider = Widget.Slider({
hexpand: true,
draw_value: false,
on_change: ({ value }) => audio.speaker.volume = value,
setup: self => self.hook(audio.speaker, () => {
self.value = audio.speaker.volume || 0
}),
})
return Widget.Box({
class_name: "volume",
css: "min-width: 180px",
children: [icon, slider],
})
}
function BatteryLabel() {
const value = battery.bind("percent").as(p => p > 0 ? p / 100 : 0)
const icon = battery.bind("percent").as(p =>
`battery-level-''${Math.floor(p / 10) * 10}-symbolic`)
return Widget.Box({
class_name: "battery",
visible: battery.bind("available"),
children: [
Widget.Icon({ icon }),
Widget.LevelBar({
widthRequest: 140,
vpack: "center",
value,
}),
],
})
}
function SysTray() {
const items = systemtray.bind("items")
.as(items => items.map(item => Widget.Button({
child: Widget.Icon({ icon: item.bind("icon") }),
on_primary_click: (_, event) => item.activate(event),
on_secondary_click: (_, event) => item.openMenu(event),
tooltip_markup: item.bind("tooltip_markup"),
})))
return Widget.Box({
children: items,
})
}
// layout of the bar
function Left() {
return Widget.Box({
spacing: 8,
children: [
Workspaces(),
ClientTitle(),
],
})
}
function Center() {
return Widget.Box({
spacing: 8,
children: [
Media(),
Notification(),
],
})
}
function Right() {
return Widget.Box({
hpack: "end",
spacing: 8,
children: [
Volume(),
BatteryLabel(),
Clock(),
SysTray(),
],
})
}
function Bar(monitor = 0) {
return Widget.Window({
name: `bar-''${monitor}`, // name has to be unique
class_name: "bar",
monitor,
anchor: ["top", "left", "right"],
exclusivity: "exclusive",
child: Widget.CenterBox({
start_widget: Left(),
center_widget: Center(),
end_widget: Right(),
}),
})
}
App.config({
style: "./style.css",
windows: [
Bar(),
// you can call it, for each monitor
// Bar(0),
// Bar(1)
],
})
export { }
'';
xdg.configFile."ags/style.css".text = let
colors = config.lib.stylix.colors;
color = {
base = colors.base00;
mantle = colors.base01;
surface0 = colors.base02;
surface1 = colors.base03;
surface2 = colors.base04;
text = colors.base05;
rosewater = colors.base06;
lavander = colors.base07;
red = colors.base08;
peach = colors.base09;
yellow = colors.base0A;
green = colors.base0B;
teal = colors.base0C;
blue = colors.base0D;
mauve = colors.base0E;
flamingo = colors.base0F;
};
in /*css*/ ''
* {
border: none;
box-shadow: none;
text-shadow: none;
}
window.bar {
background-color: transparent;
color: #${color.text};
}
button {
/* size: 20px; */
background-color: transparent;
border-radius: 10px;
}
button:active {
background-color: /*#${color.surface0}*/ red;
}
label {
font-weight: bold;
}
.workspaces {
background-color: #${color.base};
border-radius: 10px;
}
.workspaces button {
color: #${color.surface2};
background: transparent;
padding: 5px;
}
.workspaces button:hover {
color: #${color.text};
}
.workspaces button.focused {
background-color: #${color.surface0};
color: #${color.text};
}
.client-title {
color: @theme_selected_bg_color;
}
.notification {
color: yellow;
}
levelbar block,
highlight {
min-height: 10px;
}
'';
# home.packages = [ pkgs.ags ];
}
-18
View File
@@ -1,18 +0,0 @@
# Simple Bar
setup
```bash
mkdir -p ~/.config/ags
git clone https://github.com/Aylur/ags.git /tmp/ags
cp -r /tmp/ags/example/simple-bar/* ~/.config/ags
# optionally setup types
ags --init -c ~/.config/ags/config.js
```
running
```bash
ags -c ~/.config/ags/config.js &
```
-219
View File
@@ -1,219 +0,0 @@
const hyprland = await Service.import("hyprland")
const notifications = await Service.import("notifications")
const mpris = await Service.import("mpris")
const audio = await Service.import("audio")
const battery = await Service.import("battery")
const systemtray = await Service.import("systemtray")
const date = Variable("", {
poll: [1000, 'date "+%H:%M:%S %b %e."'],
})
// widgets can be only assigned as a child in one container
// so to make a reuseable widget, make it a function
// then you can simply instantiate one by calling it
function Workspaces() {
const activeId = hyprland.active.workspace.bind("id")
const workspaces = hyprland.bind("workspaces")
.as(ws => ws.map(({ id }) => Widget.Button({
on_clicked: () => hyprland.messageAsync(`dispatch workspace ${id}`),
child: Widget.Label(`${id}`),
class_name: activeId.as(i => `${i === id ? "focused" : ""}`),
})))
return Widget.Box({
class_name: "workspaces",
children: workspaces,
})
}
function ClientTitle() {
return Widget.Label({
class_name: "client-title",
label: hyprland.active.client.bind("title"),
})
}
function Clock() {
return Widget.Label({
class_name: "clock",
label: date.bind(),
})
}
// we don't need dunst or any other notification daemon
// because the Notifications module is a notification daemon itself
function Notification() {
const popups = notifications.bind("popups")
return Widget.Box({
class_name: "notification",
visible: popups.as(p => p.length > 0),
children: [
Widget.Icon({
icon: "preferences-system-notifications-symbolic",
}),
Widget.Label({
label: popups.as(p => p[0]?.summary || ""),
}),
],
})
}
function Media() {
const label = Utils.watch("", mpris, "player-changed", () => {
if (mpris.players[0]) {
const { track_artists, track_title } = mpris.players[0]
return `${track_artists.join(", ")} - ${track_title}`
} else {
return "Nothing is playing"
}
})
return Widget.Button({
class_name: "media",
on_primary_click: () => mpris.getPlayer("")?.playPause(),
on_scroll_up: () => mpris.getPlayer("")?.next(),
on_scroll_down: () => mpris.getPlayer("")?.previous(),
child: Widget.Label({ label }),
})
}
function Volume() {
const icons = {
101: "overamplified",
67: "high",
34: "medium",
1: "low",
0: "muted",
}
function getIcon() {
const icon = audio.speaker.is_muted ? 0 : [101, 67, 34, 1, 0].find(
threshold => threshold <= audio.speaker.volume * 100)
return `audio-volume-${icons[icon]}-symbolic`
}
const icon = Widget.Icon({
icon: Utils.watch(getIcon(), audio.speaker, getIcon),
})
const slider = Widget.Slider({
hexpand: true,
draw_value: false,
on_change: ({ value }) => audio.speaker.volume = value,
setup: self => self.hook(audio.speaker, () => {
self.value = audio.speaker.volume || 0
}),
})
return Widget.Box({
class_name: "volume",
css: "min-width: 180px",
children: [icon, slider],
})
}
function BatteryLabel() {
const value = battery.bind("percent").as(p => p > 0 ? p / 100 : 0)
const icon = battery.bind("percent").as(p =>
`battery-level-${Math.floor(p / 10) * 10}-symbolic`)
return Widget.Box({
class_name: "battery",
visible: battery.bind("available"),
children: [
Widget.Icon({ icon }),
Widget.LevelBar({
widthRequest: 140,
vpack: "center",
value,
}),
],
})
}
function SysTray() {
const items = systemtray.bind("items")
.as(items => items.map(item => Widget.Button({
child: Widget.Icon({ icon: item.bind("icon") }),
on_primary_click: (_, event) => item.activate(event),
on_secondary_click: (_, event) => item.openMenu(event),
tooltip_markup: item.bind("tooltip_markup"),
})))
return Widget.Box({
children: items,
})
}
// layout of the bar
function Left() {
return Widget.Box({
spacing: 8,
children: [
Workspaces(),
ClientTitle(),
],
})
}
function Center() {
return Widget.Box({
spacing: 8,
children: [
Media(),
Notification(),
],
})
}
function Right() {
return Widget.Box({
hpack: "end",
spacing: 8,
children: [
Volume(),
BatteryLabel(),
Clock(),
SysTray(),
],
})
}
function Bar(monitor = 0) {
return Widget.Window({
name: `bar-${monitor}`, // name has to be unique
class_name: "bar",
monitor,
anchor: ["top", "left", "right"],
exclusivity: "exclusive",
child: Widget.CenterBox({
start_widget: Left(),
center_widget: Center(),
end_widget: Right(),
}),
})
}
App.config({
style: "./style.css",
windows: [
Bar(),
// you can call it, for each monitor
// Bar(0),
// Bar(1)
],
})
export { }
-16
View File
@@ -1,16 +0,0 @@
{
imports = [
./kitty.nix
./qt.nix
./sops.nix
./neofetch.nix
./syncthing.nix
./yazi.nix
./ags.nix
./zsh.nix
./helix.nix
./wms/wofi.nix
./wms/mako.nix
];
}
-14
View File
@@ -1,14 +0,0 @@
{ lib, pkgs, ... }: {
programs.kitty = {
enable = true;
settings = lib.mkDefault {
dynamic_background_opacity = "yes";
background_opacity = 0.5;
background_blur = true;
background = "#1d2021";
font_size = 13.0;
cursor_blink_interval = "0.5 ease-in-out";
};
};
programs.zsh.envExtra = "TERM=xterm-256color";
}
-3
View File
@@ -1,3 +0,0 @@
{
services.syncthing.enable = true;
}
-5
View File
@@ -1,5 +0,0 @@
{ pkgs-stable, ... }: {
home.packages = with pkgs-stable; [
(blender.override { cudaSupport = true; })
];
}
-17
View File
@@ -1,17 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
vscode
jetbrains.pycharm-community
jetbrains.idea-community
android-studio
cmake
gnumake
nodejs
(python3.withPackages (ps: with ps; [ requests bpython ]))
python311Packages.pip
rocmPackages.llvm.clang-tools-extra
rocmPackages.llvm.clang
ncurses
];
}
-455
View File
@@ -1,455 +0,0 @@
{ pkgs, config, active_color }: {
home.packages = [ pkgs.pulsemixer ];
wayland.windowManager.hyprland.settings.windowrule = [
"float, ^(pulsemixer)"
"float, ^(nmtui)"
];
xdg.configFile."waybar/scripts/wttr.py".source = pkgs.fetchurl {
name = "waybar-wttr.py";
url = "https://gist.githubusercontent.com/bjesus/f8db49e1434433f78e5200dc403d58a3/raw/47f9ffd573dc8e8edce0ea6708601b8e685a70ab/waybar-wttr.py";
sha256 = "15j2cqg405q37wrrlm70mhp7rx6xnrn92rfm1ix6g3nl98ksh45g";
};
programs.waybar =
let
colors = config.lib.stylix.colors;
in {
enable = true;
settings = {
mainBar = {
layer = "top";
position = "top";
margin = "9 13 -10 18";
modules-left = ["hyprland/workspaces" "hyprland/language" "keyboard-state" "hyprland/submap"];
modules-center = ["mpris" "wlr/taskbar"];
modules-right = ["group/system" "battery" "pulseaudio" "clock" "tray"];
"hyprland/workspaces" = {
disable-scroll = true;
};
"wlr/taskbar" = {
on-click = "activate";
on-click-middle = "close";
on-click-right = "minimize";
};
"group/system" = {
orientation = "inherit";
drawer = {
transition-duration = 500;
transition-left-to-right = false;
};
modules = [
"network"
"custom/mem"
"cpu"
"temperature"
"backlight"
];
};
"hyprland/language" = {
format-en = "US";
format-ru = "RU";
min-length = 5;
tooltip = false;
};
"keyboard-state" = {
capslock = true;
format = "{icon}";
format-icons = {
locked = "CUPS";
unlocked = "";
};
};
"clock" = {
tooltip = false;
format = "{:%a, %d %b %R}";
};
"custom/weather" = {
format = "{}";
tooltip = true;
interval = 1800;
exec = "python3 $HOME/.config/waybar/scripts/wttr.py";
return-type = "json";
};
"pulseaudio" = {
# scroll-step = 1; # %, can be a float
reverse-scrolling = 1;
format = "{volume}% {icon} {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = "{volume}% ";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = ["" "" ""];
};
on-click = "kitty --class pulsemixer -e pulsemixer";
min-length = 13;
};
"custom/mem" = {
format = "{} ";
interval = 3;
exec = "free -h | awk '/Mem:/{printf $3}'";
tooltip = false;
};
"cpu" = {
interval = 2;
format = "{usage}% ";
min-length = 6;
};
"temperature" = {
# thermal-zone = 2;
# hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input";
critical-threshold = 80;
# format-critical = "{temperatureC}°C {icon}";
format = "{temperatureC}°C {icon}";
format-icons = ["" "" "" "" ""];
tooltip = false;
};
"network" = {
format = "{ifname}";
format-wifi = "{essid} ({signalStrength}%) ";
format-ethernet = "{ifname} ";
format-disconnected = "";
tooltip-format = "{ifname}";
tooltip-format-wifi = "{essid} ({signalStrength}%) ";
tooltip-format-ethernet = "{ifname} ";
tooltip-format-disconnected = "Disconnected";
max-length = 50;
on-click = "kitty --class nmtui -e sh -c nmtui";
};
"backlight" = {
device = "intel_backlight";
format = "{percent}% {icon}";
format-icons = [""];
min-length = 7;
};
battery = {
states = {
warning = 30;
critical = 15;
};
format = "{capacity}%";
format-charging = "{capacity}% {time}";
format-plugged = "{capacity}%";
format-alt = "{time}";
format-time = "{H}:{m}";
};
mpris = {
format = "{title}";
format-len = "20";
};
tray = {
icon-size = 16;
spacing = 0;
};
};
};
style = /*css*/
''
* {
border: none;
border-radius: 0;
/* `otf-font-awesome` is required to be installed for icons */
font-family: JetBrains Mono;
font-weight: bold;
min-height: 20px;
}
window#waybar {
background: transparent;
}
window#waybar.hidden {
opacity: 0.2;
}
#workspaces {
margin-right: 8px;
border-radius: 10px;
transition: none;
background: #${colors.base00};
}
#workspaces button {
transition: none;
color: #${colors.base04};
background: transparent;
padding: 5px;
font-size: 18px;
}
#workspaces button.persistent {
font-size: 12px;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
transition: none;
box-shadow: inherit;
text-shadow: inherit;
border-radius: inherit;
color: #${colors.base05};
}
#workspaces button.active {
background: #${colors.base02};
color: #${colors.base05};
border-radius: inherit;
}
#taskbar {
border-radius: 10px;
color: #${colors.base05};
background: #${colors.base00};
}
#taskbar button {
transition: none;
background: transparent;
border-radius: 10px;
padding: 8px;
margin: 0px;
}
#taskbar button:hover {
transition: none;
box-shadow: inherit;
text-shadow: inherit;
border-radius: inherit;
background: #${colors.base02};
}
#taskbar button.active {
background: ${active_color};
}
#language {
padding: 8px 0px 8px 8px;
border-radius: 10px 0px 0px 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#keyboard-state {
margin-right: 8px;
padding: 8px 8px 8px 0px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#custom-pacman {
padding-left: 16px;
padding-right: 8px;
border-radius: 10px 0px 0px 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#custom-mail {
margin-right: 8px;
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#submap {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#clock {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#network {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#network.disconnected {
color: #${colors.base00};
background-color: #${colors.base08};
}
#custom-weather {
padding-right: 16px;
border-radius: 0px 10px 10px 0px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#pulseaudio {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#pulseaudio.muted {
background-color: #${colors.base08};
color: #${colors.base01};
}
#custom-mem {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#cpu {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#temperature {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#temperature.critical {
background-color: #${colors.base08};
}
#backlight {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#battery {
margin-right: 8px;
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#battery.charging {
color: #${colors.base05};
background-color: #${colors.base0B};
}
#battery.warning:not(.charging) {
background-color: #${colors.base09};
color: black;
}
#battery.critical:not(.charging) {
background-color: #${colors.base08};
color: #${colors.base05};
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#tray {
padding-left: 16px;
padding-right: 16px;
border-radius: 10px;
transition: none;
color: #${colors.base05};
background: #${colors.base00};
}
#mpris{
background: #${colors.base00};
border-radius: 10px;
color: #${colors.base05};
padding: 0px 8px;
margin: 0px 8px;
}
#mpris.playing {
background-color: #${colors.base0B};
color: #${colors.base01};
}
#mpris.paused {
background-color: #${colors.base0A};
color: #${colors.base01};
}
@keyframes blink {
to {
background-color: #${colors.base05};
color: #${colors.base00};
}
}
'';
};
}
-26
View File
@@ -1,26 +0,0 @@
{ pkgs, ... }: {
imports = [
../../modules/bundle.nix
../../packages/desktop.nix
../../packages/art.nix
./modules/aagl.nix
./modules/git.nix
./modules/hyprland.nix
./modules/style.nix
./modules/waybar.nix
];
nixpkgs.config.allowUnfree = true;
home = {
username = "chest";
homeDirectory = "/home/chest";
stateVersion = "23.11";
packages = with pkgs; [
nautilus
];
};
}
-11
View File
@@ -1,11 +0,0 @@
let
aagl-gtk-on-nix = import (
builtins.fetchTarball {
url = "https://github.com/ezKEa/aagl-gtk-on-nix/archive/main.tar.gz";
sha256 = "14fnbcvmr1b8jkkjfbyarljwawgh3as9skdyvyc10b1nqh0641h0";
}
);
in
{
home.packages = [ aagl-gtk-on-nix.the-honkers-railway-launcher ];
}
-7
View File
@@ -1,7 +0,0 @@
{
programs.git = {
enable = true;
userName = "cheeest";
userEmail = "a.e.sunduk@gmail.com";
};
}
@@ -1,9 +0,0 @@
{ pkgs, config, ... }: {
imports = [(
import ../../../patterns/waybar.nix {
inherit pkgs;
inherit config;
active_color = "#d197d9";
}
)];
}
-26
View File
@@ -1,26 +0,0 @@
{ pkgs, ... }: {
imports = [
../../modules/bundle.nix
../../modules/hyprlock.nix
../../packages/coding.nix
../../packages/desktop.nix
../../packages/utils.nix
../../packages/art.nix
./modules/git.nix
./modules/hyprland.nix
./modules/style.nix
./modules/waybar.nix
];
nixpkgs.config.allowUnfree = true;
home = {
username = "sweetbread";
homeDirectory = "/home/sweetbread";
stateVersion = "23.11";
};
services.syncthing.enable = true;
}
@@ -1,9 +0,0 @@
{ pkgs, config, ... }: {
imports = [(
import ../../../patterns/waybar.nix {
inherit pkgs;
inherit config;
active_color = "#${config.lib.stylix.colors.base0B}";
}
)];
}
+28
View File
@@ -0,0 +1,28 @@
{ config, pkgs, pkgs-stable, pkgs-fixed, lib, inputs, ...}: {
imports = [
./secrets/secrets.nix
./modules/aagl.nix
./modules/grub.nix
./modules/zram.nix
../modules/nvidia.nix
(import ../modules/common.nix {
inherit lib;
inherit inputs;
hostname = "Eclipse";
})
(import ../../user/common.nix {
inherit config;
inherit pkgs;
inherit pkgs-stable;
inherit pkgs-fixed;
inherit lib;
inherit inputs;
name = "chest";
})
];
nixpkgs.config.allowBroken = true;
programs.gamemode.enable = true;
}
+29
View File
@@ -0,0 +1,29 @@
{ inputs, ... }: {
imports = [ inputs.aagl.nixosModules.default ];
nix.settings = inputs.aagl.nixConfig; # Set up Cachix
programs.honkers-railway-launcher.enable = true;
networking.hosts."0.0.0.0" = [
"overseauspider.yuanshen.com"
"log-upload-os.hoyoverse.com"
"log-upload-os.mihoyo.com"
"dump.gamesafe.qq.com"
"apm-log-upload-os.hoyoverse.com"
"zzz-log-upload-os.hoyoverse.com"
"log-upload.mihoyo.com"
"devlog-upload.mihoyo.com"
"uspider.yuanshen.com"
"sg-public-data-api.hoyoverse.com"
"hkrpg-log-upload-os.hoyoverse.com"
"public-data-api.mihoyo.com"
"prd-lender.cdp.internal.unity3d.com"
"thind-prd-knob.data.ie.unity3d.com"
"thind-gke-usc.prd.data.corp.unity3d.com"
"cdp.cloud.unity3d.com"
"remote-config-proxy-prd.uca.cloud.unity3d.com"
"pc.crashsight.wetest.net"
];
}
File renamed without changes.
@@ -2,7 +2,7 @@
zramSwap = { zramSwap = {
enable = true; enable = true;
algorithm = "lz4"; algorithm = "lz4";
memoryPercent = 100; memoryPercent = 125;
priority = 999; priority = 999;
}; };
} }
File renamed without changes.
+20
View File
@@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data: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 truncated
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0Qzg2bGx2eDExZ0F2VWxp\nb1BET1BBRE9UcUM5cGRGdTd1U0w1TStNa1RVCnpYK0E4Y1I0ejJKeXlRQnZWUTZt\nNUhFajA1YnhDYjA4SmxRUVlIVzFuUkEKLS0tIDNxSnZDN3BXUDVPcDRhbDF5Z1d0\nYmxvM1N4RlFhcCtQdWNxdUlaeTkwUkUKUrm1CalGhI39U7VFhv+QM5AkXDLyJVLW\nga4G9umSUxNsEboXRkLn6bmzvfZRn21z8uq/ZlrldbDk02p7zUNkyQ==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-12-26T15:53:41Z",
"mac": "ENC[AES256_GCM,data:b+EuQLffrp+X+fVw80dUe4EQEsyZoUnX40J3/d5XGj7txweQNZZfIFt9RzoG+t3W12dr/o2R87xfMawuTPXvDoAYbfkLrQu7bv9MT7VGgmreBtdDiEm4c3MPxuYnBWOh+nkoMZOXXzC4/wcbZ1NnWlqp0gt/hJYVad/GgrhtPK0=,iv:rRljq/VV0oYacbQxh5psv3x3gCAmvVR9drsuAFXrtB8=,tag:L4M4Cnsl6bunhQxoYYX8+g==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.2"
}
}
+28
View File
@@ -0,0 +1,28 @@
{ config, pkgs, pkgs-stable, pkgs-fixed, lib, inputs, ...}: {
imports = [
./secrets/secrets.nix
./modules/grub.nix
./modules/syncthing.nix
../../modules/host/adb.nix
../modules/nvidia.nix
(import ../modules/common.nix {
inherit lib;
inherit inputs;
hostname = "Rias";
})
(import ../../user/common.nix {
inherit config;
inherit pkgs;
inherit pkgs-stable;
inherit pkgs-fixed;
inherit lib;
inherit inputs;
name = "sweetbread";
fullname = "Sweet Bread";
})
];
programs.gamemode.enable = true;
}
File renamed without changes.
+38
View File
@@ -0,0 +1,38 @@
{ config, ... }: {
services.syncthing = {
enable = true;
openDefaultPorts = true;
user = "sweetbread";
dataDir = "/home/sweetbread/.config/syncthing";
key = config.sops.secrets.syncthing_key.path;
cert = config.sops.secrets.syncthing_cert.path;
settings = {
devices = {
Akeno = { id = "YVFVE2M-GSCKJBJ-AMC5JM3-AOMCVNP-RLFAWEZ-35VP4HP-DGP5QD2-6QWEZQW"; };
Koneko = { id = "PJFWQRY-ZFUBGDR-NV7KVBL-UBDQ4HT-KPTYP34-MUDFPJU-4EZUHTT-ZLYRMAB"; };
};
folders = {
"Books" = {
path = "/mnt/D/SyncThing/Books";
devices = [ "Akeno" "Koneko" ];
};
".RPI" = {
path = "/mnt/D/SyncThing/.RPI";
devices = [ "Akeno" "Koneko" ];
};
"Music" = {
path = "/home/sweetbread/Music";
devices = [ "Akeno" "Koneko" ];
};
};
};
};
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
}
+20
View File
@@ -0,0 +1,20 @@
{
sops = {
age.keyFile = "/root/age.key";
secrets = {
vpn_bolt = {
format = "binary";
sopsFile = ./vpn_bolt.db;
};
syncthing_cert = {
format = "binary";
sopsFile = ./syncthing_cert.pem;
};
syncthing_key = {
format = "binary";
sopsFile = ./syncthing_key.pem;
};
};
};
}
+20
View File
@@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data:FrQVoWDaUZUh8OfSjJ4f1TsPutY6PyMTIPYgWfG1wg/t8orJC52QsoZEabj46tIcLDSJaGSETf3lvCXnmesFAeqUuMK4axAcqPSBRd+kSoCSg/KzHdkQD5C4JiYWUWdIdvMYMUz086mFiHSyyzvbPYCAKrWYtQsQcJPEYmuvQl/0vFPjquR9Mla+/89MXebWBSGys43PKzQUfWjgrLmR7v2ac7lbRxnhBNP/eGayM4auzZVCtLV0UBs3TS5GTPSKAcQeAmmHbzdRJg8vVM1deKv9s/Tjy3ygRthqjCuVF2xcLetb2SDhYKMcgZRXT+AtnEyiV72wxqaExtWsUjJvR8b7COsFpBWbXT+AY+FkSKaGz00DaXncBKSP/zmiUYyaMplvQESFlIpduzF/DRuyQrq+KAwnJZql0rlvfzcEYgQKJENeQwHAq8Itu+HcHzmCEbY4d+LvEznEwlQ6eL6y3tNzoWzfhRQUz4Ki+54DPLGlGtOe9dTM8cWHtl/mZniNzY6FXNiEqbHrepzq7WEXSPi69Hj2OfdvSTQX4HMnp5Tw0i95zhfHDmzp62Kr6YLj0KYZsj6gsC3/6SYB0YNn5pMo1IpBonJxyKeAUz9NvrMcy1/7z/h9OOejPPM3xm48XJ4/7mMhOyB13VPYMZZMUajqUgu2qdGgDxl+DY140LAoQ8bRs3wvTwCwZuCA9Fj4gtn4+04EIil+lPjwEYH/2VIX4MmhxlyxZ2ECAqWf9LJgRy+3asvE8qPxmXNLSd1JqThAYoezJOZf6T5blzOwaXKzmom1hAtkptVjz+fvudwSZQcMOBnrSI1lkWeaeTFvQQOe4jUhaRB83NfbSpm6CFhqHJKjDorP6L5zwOx663YyJcZB2sAcotKGzDi3lQqfh8HGmrGLnc1+J+d9L7NbccgsfWYzfk04tqwv6WI+rpXqR0HlLyg+SDjtl49tuC1c6U9atNKPpyuqWHW2DiM8dgERmJfNz8OGjK2mnU7onGeUyrBvXrIcfe+z/fuymzJ5eHnU3VfMxz9Py97AK7M7KN/tRhR7Grx6Sqs=,iv:imkydsFKhiTrqyi1rXidCLCDGtL8RuY6ZiiiHyMFeAg=,tag:HwvqV4xt0nQZb1El+XrO+w==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5TGk2MWdnZzc3UVZ2Ui9w\nVWgxcFJDUThhM0pDbVR1ZXd6U3BhLzM0U1ZNClJpaHlCdU9mTURKSzdSbE52SFR6\ncUdzVkJ2MElNUHg3UzJHc0tNb3dJamMKLS0tIGErZXJGOXFLUCt1SG93aW01aEEw\nTmNiN1VUUUp2TWlKTlpDWDVwVUk2VjgKpUD72/hlXLEzciW/kewu0hZanGA8+Gfh\ndCro8OOJaOe2INCrioOL9kMZvdpxq96fw+kir1FkkJBkepJgcdCTgA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-12-17T12:28:22Z",
"mac": "ENC[AES256_GCM,data:n4Bj/FaPaN+IyVXz8Bmu+tfuULxcJpDnAiYhGawMhbfFCL2tGFVi7G0WdnopdSrZV++9iZnb4z5a/al1WbmIIy/iJS7v2EKNzK08U9xdJDKgEQKXJms/df13f/FRDxV3nfCHX8UBtSJNdcXBY5O77o+VUUcjkpbzVrwWjAaMcOk=,iv:5z25Ereng1O47fk8w4OA52Gk4CAqW2Ot97Cp7UR0zqw=,tag:h9WL5ESZwd9BCa7bbUahOg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.1"
}
}
+20
View File
@@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data:6VJ1TgANh3bVkWEsPFQYFLjdrbsggQ3mCOpLWIo7Q9hCxsUeI0sL4npsXAVoEfTndWkv1zBgzVjzw+KcY8IDu27uTwguPrPk/R0T1aAa1Y8LEoOVmqZVw6GxiiqEYVcbOERkSi3kFSocynzFljDAqPnaYUVoAkB9mFPtO5KeXMjKXMtkJhcFjPkIzLzcHHBEeVUynn4utQaKspj6xVWc+NX/+G+Oh4kfm4RJyD/v5WEWQh2bFtiVwLhgRNiw210SuFZJqst8SoAXjG3LivpAJXapnn1xC3t8Vn4RXHC+JVl/7amDkGY+GOK+k68ou0TS+dWMAEZhiVWsOToeb4C5wPbvDADNRFx78HORsKprAcPgOvYkvaDX+A242KVz4w9j,iv:uD6GkozkTM4mP0jfQ9+oNN4o/kMiscYbggF0Lgum3Wk=,tag:CHO2KBgWnRQ9zvYC4br38A==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3di9JS0g0cUFxK1cwSkU3\nTmdHRW5NTjQzWWtSR2xYUnlEOG1va3BhY3k0CnRrZkRydGQ0SkczVTB0TkRDejVt\nS0NweDBuNDErNUVjazRTQ1RFYks4NWcKLS0tIGRPL1Z1aWNyS0FBSnZhZWFCWHBS\nVzhLYUdkNWhyVEx2aGtuWGZHM3J2Uk0KrZsGNRPlUB02xJvNeD3VFbRIVAL8bnei\nxS/mwnx6V2o+yJX7RHEj7D466L6zzm0CtDaz7PT4vyJxDBjpRuMBhg==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-12-17T12:28:38Z",
"mac": "ENC[AES256_GCM,data:g/WhHfiukviJDExEsVFo4JOkVayeZEZpexmEvUn2IOGQ13qTD1rVakR/0cF/XowxsiCBwicn5Fc5FRFe696MBzIyetNNt75jWKC/tasWGk5khrQI6Jwj3kt1nmsQmdahQ4shmjfiLmeELy8fGBe7ASCvu+gZCEfg8OaZRRxmh/E=,iv:S1FlplJsJcsv4Cm8AOYfW15rFE7a5bcUBej7hp6tnNI=,tag:AdgkSbl5ikGnpvG9Z4D9Sg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.1"
}
}
+20
View File
@@ -0,0 +1,20 @@
{
"data": "ENC[AES256_GCM,data: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 truncated
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VURIZlNxcnpJRGtxNmlj\nTCtKTW1FNHZBdTh4TDBLZE85N05Td1JlS3ljCk1SUTg5T29Kc1RaTmNBajRjWHBk\nSzJQay9SYTZVRHkxVlBlQmRFLzBlTGMKLS0tIFk2RkNBRUZid2dVZTBrNUQyVGs4\nUDlvZjZrcUw1TU9RU3hDZ3ZCcWZnTmMK95HDi6MlGesfJzX+GWvJRnP7MxtLv9Z5\nwKH9F23gXF6vpTvzPz34KaTlgyVz3HfT/LryXjPSNg7s1vTJeFIDyw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-12-26T16:14:23Z",
"mac": "ENC[AES256_GCM,data:zbtRtU4Tjz9Oghx1Ctl9KeCQdnMgWWIZGBcZ3hEqsvcjp9AM9DtX4XLWEv1HA2G7XAbr2f2E2bRbnUkln5nx9I77KPsed9ADADYi711Sj3E60XhpCalHd3xCBJCPSE4fT0gSaB87ISzVWM0JaVrmLkDDi7EYpucfqKEFRMNVQgU=,iv:sPoaevJt72UbPb0VDKAT3+xDKhZ/9XQWEzg5jQmYCuM=,tag:QWeuTJv+MG6p1vXmmBgqFg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.2"
}
}
+29
View File
@@ -0,0 +1,29 @@
{ config, pkgs, pkgs-stable, pkgs-fixed, lib, inputs, ...}: {
imports = [
./secrets/secrets.nix
./modules/grub.nix
../modules/nvidia.nix
(import ../modules/common.nix {
inherit lib;
inherit inputs;
hostname = "Senko";
})
(import ../../user/common.nix {
inherit config;
inherit pkgs;
inherit pkgs-stable;
inherit pkgs-fixed;
inherit lib;
inherit inputs;
name = "sweetbread";
fullname = "Sweet Bread";
})
];
hardware.bluetooth.enable = true;
host.laptop = true;
environment.systemPackages = [ pkgs.dbgate ];
}
+13
View File
@@ -0,0 +1,13 @@
{ pkgs, ... }: let
theme = pkgs.fetchFromGitHub {
owner = "Patato777";
repo = "dotfiles";
rev = "cc363921707807d7ad3e36b462f0df793a0fe18a";
hash = "sha256-fpXGFNrzbV6K9hoZRX4tGieTLzhpPeGm6wn8CF4OGow=";
};
in {
boot.loader.grub = {
gfxmodeEfi = "1920x1080";
theme = "${theme}/grub/themes/virtuaverse";
};
}
+11
View File
@@ -0,0 +1,11 @@
{
sops = {
age.keyFile = "/root/age.key";
secrets = {
vpn_bolt = {
format = "binary";
sopsFile = ./vpn_bolt.db;
};
};
};
}
+1
View File
@@ -0,0 +1 @@
../../Rias/secrets/vpn_bolt.db
+20
View File
@@ -0,0 +1,20 @@
{ lib, inputs, hostname }: {
imports = [
inputs.sops-nix.nixosModules.sops
../${hostname}/hardware-configuration.nix
../../modules/host.nix
./packages.nix
];
options = {
host.laptop = lib.mkEnableOption "laptop mode";
};
config = {
networking.hostName = hostname;
time.timeZone = lib.mkDefault "Europe/Moscow";
i18n.defaultLocale = lib.mkDefault "ru_RU.UTF-8";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = "23.05";
};
}
+27
View File
@@ -0,0 +1,27 @@
{ config, pkgs, lib, ... }: {
services.xserver.videoDrivers = [ "nvidia" ];
hardware = {
graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
};
nvidia = {
modesetting.enable = true;
powerManagement = {
enable = true;
finegrained = false;
};
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
prime = lib.optionalAttrs config.host.laptop {
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
};
}
+29
View File
@@ -0,0 +1,29 @@
{ pkgs, inputs, ... }: {
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
file
tree
wget
git
(btop.override { cudaSupport = true; })
unzip
yazi
zip
lazygit
httpie
ncdu
tldr
helix
];
fonts = {
enableDefaultPackages = false;
packages = with pkgs; [
jetbrains-mono # Best mono font
noto-fonts-cjk-sans # Japanese
powerline-symbols # Console decoration
unifont # Other
];
};
}
+26
View File
@@ -0,0 +1,26 @@
{
imports = [
./host/bluetooth.nix
./host/bootloader.nix
./host/console.nix
./host/db.nix
./host/env.nix
./host/gamemode.nix
./host/gpg.nix
./host/laptop.nix
./host/printing.nix
./host/shutdown-on-lan.nix
./host/sound.nix
./host/virtmanager.nix
./host/vpn.nix
./host/network.nix
./host/yggdrasil.nix
];
programs.hyprland.enable = true;
services = {
udisks2.enable = true;
fstrim.enable = true;
upower.enable = true;
};
}
File renamed without changes.
@@ -1,6 +1,6 @@
{ { config, lib, ... }: {
hardware.bluetooth = { hardware.bluetooth =
enable = true; lib.mkIf config.hardware.bluetooth.enable {
powerOnBoot = true; powerOnBoot = true;
settings = { settings = {
General = { General = {
@@ -2,21 +2,18 @@
boot = { boot = {
loader = { loader = {
timeout = 3; timeout = 3;
# systemd-boot.enable = true; efi = {
efi.efiSysMountPoint = "/boot"; efiSysMountPoint = "/boot";
canTouchEfiVariables = true;
};
grub = { grub = {
enable = true; enable = true;
efiSupport = true; efiSupport = true;
efiInstallAsRemovable = true;
device = "nodev"; device = "nodev";
useOSProber = true;
}; };
# efi.canTouchEfiVariables = true;
}; };
# initrd = {
# verbose = false;
# # systemd.enable = true;
# };
consoleLogLevel = 0; consoleLogLevel = 0;
kernelParams = [ kernelParams = [
# "quiet" # "quiet"
@@ -31,7 +28,6 @@
enable = true; enable = true;
theme = "black_hud"; theme = "black_hud";
themePackages = with pkgs; [ themePackages = with pkgs; [
# By default we would install all themes
(adi1090x-plymouth-themes.override { (adi1090x-plymouth-themes.override {
selected_themes = [ "black_hud" ]; selected_themes = [ "black_hud" ];
}) })
+23
View File
@@ -0,0 +1,23 @@
{ pkgs, ... }: {
console = {
font = "${pkgs.kbd}/share/consolefonts/LatArCyrHeb-19.psfu.gz";
colors = [
"16161E"
"1A1B26"
"2F3549"
"444B6A"
"787C99"
"787C99"
"CBCCD1"
"D5D6DB"
"F7768E"
"FF9E64"
"E0AF68"
"41A6B5"
"7DCFFF"
"7AA2F7"
"BB9AF7"
"D18616"
];
};
}
+10
View File
@@ -0,0 +1,10 @@
{ lib, ... }:{
services.postgresql = {
enable = true;
ensureDatabases = [ "mydatabase" ];
authentication = lib.mkOverride 10 ''
#type database DBuser auth-method
local all all trust
'';
};
}
File renamed without changes.
+21
View File
@@ -0,0 +1,21 @@
{ config, pkgs, pkgs-stable, lib, ... }:
lib.mkIf config.programs.gamemode.enable {
programs.steam = {
enable = true;
gamescopeSession.enable = true;
};
environment.systemPackages = with pkgs-stable; [
mangohud
protonup
pkgs.bottles
heroic
pkgs.prismlauncher
];
environment.sessionVariables = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS =
"\${HOME}/.steam/root/compatibilitytools.d";
};
}
File renamed without changes.
+19
View File
@@ -0,0 +1,19 @@
{ config, lib, ... }:
lib.mkIf config.host.laptop {
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 75;
};
};
}
+15
View File
@@ -0,0 +1,15 @@
{
networking = {
enableIPv6 = true;
useDHCP = false;
nameservers = [ "193.222.99.172" "1.1.1.1" ];
dhcpcd.extraConfig = "nohook resolv.conf";
networkmanager = {
enable = true;
dns = "none";
insertNameservers = [ "193.222.99.172" "1.1.1.1" ];
};
};
}
+9
View File
@@ -0,0 +1,9 @@
{ config, lib, ... }:
lib.mkIf config.services.printing.enable {
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
}
File renamed without changes.
+17
View File
@@ -0,0 +1,17 @@
{
security.rtkit.enable = true;
services = {
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
};
}
+5
View File
@@ -0,0 +1,5 @@
{ pkgs, ... }: {
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
}
@@ -19,8 +19,8 @@
environment.etc = { environment.etc = {
"v2raya/ru_geoip.dat".source = pkgs.fetchurl { "v2raya/ru_geoip.dat".source = pkgs.fetchurl {
name = "geoip.dat"; name = "geoip.dat";
url = "https://github.com/runetfreedom/russia-blocked-geoip/releases/download/202411071531/geoip.dat"; url = "https://github.com/runetfreedom/russia-blocked-geoip/releases/download/202503301521/geoip.dat";
hash = "sha256-BBQUTzUIWpSjFxv3R6hGfoE+WTeNcVpc7Ge3eOCKxuY="; hash = "sha256-IhMK8IzAYo1RtTFCPKaJ515JtZHv08UXDssg3fPgh+I=";
}; };
"v2raya/bolt.db".source = config.sops.secrets.vpn_bolt.path; "v2raya/bolt.db".source = config.sops.secrets.vpn_bolt.path;
+11
View File
@@ -0,0 +1,11 @@
{
services.yggdrasil = {
enable = true;
persistentKeys = true;
settings = {
Peers = [
"tcp://codrs.ru:5001"
];
};
};
}
+20
View File
@@ -0,0 +1,20 @@
{
imports = [
./user/qt.nix
./user/sops.nix
./user/neofetch.nix
./user/yazi.nix
./user/ags.nix
./user/zsh.nix
./user/helix.nix
./user/hyprlock.nix
./user/btop.nix
./user/wofi.nix
./user/mako.nix
./user/ghostty.nix
./user/packages/art.nix
./user/packages/desktop.nix
./user/packages/coding.nix
./user/packages/utils.nix
];
}
+26
View File
@@ -0,0 +1,26 @@
{ config, inputs, pkgs, ... }: {
imports = [ inputs.ags.homeManagerModules.default ];
programs.ags = {
enable = true;
configDir = null;
extraPackages = with inputs.ags.packages.${pkgs.system}; [
battery
mpris
hyprland
network
tray
wireplumber
];
};
home.packages = with pkgs; [
pulsemixer
];
wayland.windowManager.hyprland.settings.exec-once = [ "ags run" ];
xdg.configFile."ags".source = (pkgs.callPackage ./packages/drvs/ags.nix { colors = config.lib.stylix.colors; });
}
+15
View File
@@ -0,0 +1,15 @@
{ pkgs, ... }: {
programs.btop = {
enable = true;
package = pkgs.btop.override { cudaSupport = true; };
settings = {
shown_boxes = "proc cpu gpu0 mem net";
# color_theme = "TTY";
update_ms = 1000;
cpu_single_graph = true;
only_physical = false;
net_auto = false;
net_iface = "eno1";
};
};
}
+11
View File
@@ -0,0 +1,11 @@
{
programs.ghostty = {
enable = true;
enableZshIntegration = true;
settings = {
confirm-close-surface = false;
copy-on-select = false;
title-report = true;
};
};
}
@@ -6,6 +6,7 @@
settings = { settings = {
# theme = "catppuccin-mocha"; # theme = "catppuccin-mocha";
editor = { editor = {
insert-final-newline = false;
whitespace.render = { whitespace.render = {
space = "all"; space = "all";
tab = "all"; tab = "all";
@@ -1,4 +1,6 @@
{ pkgs, lib, ... }: { { config, pkgs, lib, ... }:
lib.mkIf config.programs.hyprlock.enable {
wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ]; wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ];
programs.hyprlock = let programs.hyprlock = let
@@ -8,12 +10,9 @@
hash = "sha256-wRFs/Inw1wEzF5UKFn/o6e/xH5ZJ3SVNxxno+mDx2Fs="; hash = "sha256-wRFs/Inw1wEzF5UKFn/o6e/xH5ZJ3SVNxxno+mDx2Fs=";
}; };
in { in {
enable = true;
settings = { settings = {
background = { background = {
path = lib.mkForce "${image}"; path = lib.mkForce "${image}";
color = "rgba(25, 20, 20, 1.0)";
blur_passes = 0; blur_passes = 0;
blur_size = 7; blur_size = 7;
noise = 0.0117; noise = 0.0117;
@@ -58,17 +57,12 @@
dots_center = false; dots_center = false;
dots_rounding = -1; dots_rounding = -1;
dots_fade_time = 200; dots_fade_time = 200;
# outer_color = "rgb(151515)";
# inner_color = "rgb(200, 200, 200)";
# font_color = "rgb(10, 10, 10)";
font_family = "Noto Sans"; font_family = "Noto Sans";
fade_on_empty = true; fade_on_empty = true;
fade_timeout = 1000; fade_timeout = 1000;
placeholder_text = "<i>Input Password...</i>"; placeholder_text = "<i>Input Password...</i>";
hide_input = false; hide_input = false;
rounding = -1; rounding = -1;
# check_color = "rgb(204, 136, 34)";
# fail_color = "rgb(204, 34, 34)";
fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>"; fail_text = "<i>$FAIL <b>($ATTEMPTS)</b></i>";
fail_timeout = 2000; fail_timeout = 2000;
fail_transition = 300; fail_transition = 300;
File renamed without changes.
File renamed without changes.
+6
View File
@@ -0,0 +1,6 @@
{ pkgs-fixed, ... }: {
home.packages = with pkgs-fixed; [
(blender.override { cudaSupport = true; })
aseprite
];
}
+8
View File
@@ -0,0 +1,8 @@
{ pkgs-fixed, ... }: {
home.packages = with pkgs-fixed; [
vscode
jetbrains.pycharm-community
jetbrains.idea-community
android-studio
];
}
@@ -1,11 +1,13 @@
{ pkgs, inputs, ... }: { { pkgs, inputs, pkgs-fixed, ... }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
google-chrome google-chrome
inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop
# pkgs-stable.vesktop
vesktop vesktop
obs-studio obs-studio
mpv mpv
obsidian obsidian
thunderbird pkgs-fixed.thunderbird
libreoffice
]; ];
} }
+24
View File
@@ -0,0 +1,24 @@
{ stdenv, lib, config, colors, ... }:
stdenv.mkDerivation {
name = "AGS theme";
src = ./ags;
dontUnpack = true;
patchPhase = ''
echo \$bg: \#${colors.base00}\; > colors.scss
echo \$surface0: \#${colors.base02}\; >> colors.scss
echo \$fg: \#${colors.base05}\; >> colors.scss
echo \$accent: \#${colors.base0B}\; >> colors.scss
echo \#${colors.base0B} > accent.css
'';
installPhase = ''
ls
mkdir $out
cp $src/* $out -r
mv colors.scss $out
mv accent.css $out
'';
}
+12
View File
@@ -0,0 +1,12 @@
# Simple Bar Example
![simple-bar](https://github.com/user-attachments/assets/a306c864-56b7-44c4-8820-81f424f32b9b)
A simple bar for Hyprland using
- [Battery library](https://aylur.github.io/astal/guide/libraries/battery).
- [Hyprland library](https://aylur.github.io/astal/guide/libraries/hyprland).
- [Mpris library](https://aylur.github.io/astal/guide/libraries/mpris).
- [Network library](https://aylur.github.io/astal/guide/libraries/network).
- [Tray library](https://aylur.github.io/astal/guide/libraries/tray).
- [WirePlumber library](https://aylur.github.io/astal/guide/libraries/wireplumber).
+13
View File
@@ -0,0 +1,13 @@
import { App } from "astal/gtk3"
import style from "./style.scss"
import Bar from "./widget/Bar"
App.start({
css: style,
instanceName: "ags",
requestHandler(request, res) {
print(request)
res("ok")
},
main: () => App.get_monitors().map(Bar),
})
+97
View File
@@ -0,0 +1,97 @@
@use "sass:color";
@use "colors.scss" as *;
$radius: 10px;
%item {
all: unset;
background: $bg;
border-radius: $radius;
padding: 4px;
& + &, .item + & { margin-left: 4px; }
label { margin: 0 8px; }
}
window.Bar {
border: none;
box-shadow: none;
background-color: transparent;
color: $fg;
font-size: 1.1em;
font-weight: bold;
.Container {
margin: 10px 10px 0;
}
.Workspaces {
button {
all: unset;
&:hover label {
background: $surface0;
color: $accent;
}
&:active label {
background: $surface0;
color: $accent;
}
}
label {
transition: 200ms;
padding: 0 6px;
margin: 2px;
border-radius: $radius;
border: 1pt solid transparent;
}
.focused label {
background: $accent;
color: $bg;
border-color: $accent;
}
}
.Layout.en { color: $accent; }
.SysTray button {
all: unset;
padding: 8px;
border-radius: inherit;
&:hover {
background: $surface0;
}
}
.Media {
&.playing {
border: 2pt solid $accent;
}
.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;
}
.Time { padding: 0 8px; }
.AudioSlider icon { margin-left: 8px; }
.Workspaces, .Wifi, .Layout, .Media, .SysTray, .AudioSlider, .Battery, .Time {
@extend %item;
}
}
@@ -0,0 +1,39 @@
import { App } from "astal/gtk3"
import { Astal, Gtk, Gdk } from "astal/gtk3"
import Time from "./elements/Time"
import Wifi from "./elements/Wifi"
import Audio from "./elements/Audio"
import Media from "./elements/Media"
import Layout from "./elements/Keyboard"
import SysTray from "./elements/SysTray"
import Workspaces from "./elements/Workspaces"
import BatteryLevel from "./elements/Battery"
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 className="Container">
<box hexpand halign={Gtk.Align.START}>
<Workspaces />
<Layout />
</box>
<box>
<Media />
</box>
<box hexpand halign={Gtk.Align.END} >
<SysTray />
<Wifi />
<Audio />
<BatteryLevel />
<Time />
</box>
</centerbox>
</window>
}
@@ -0,0 +1,16 @@
import { bind } from "astal"
import { execAsync } from "astal/process"
import Wp from "gi://AstalWp"
export default function Audio() {
const speaker = Wp.get_default()?.audio.defaultSpeaker!
return <button
className="AudioSlider"
onClicked={() => { execAsync("ghostty --title=pulsemixer -e pulsemixer") }}>
<box>
<icon icon={bind(speaker, "volumeIcon")} />
<label label={bind(speaker, "volume").as(v => `${Math.floor(v*100)}%`)} />
</box>
</button>
}
@@ -0,0 +1,30 @@
import { bind } from "astal";
import Battery from "gi://AstalBattery";
import accent from "../../accent.css";
export default function BatteryLevel() {
const bat = Battery.get_default();
const percent = bind(bat, "percentage").as(p => Math.floor(p * 100));
return (
<box
className="Battery"
visible={bind(bat, "isPresent")}
css={percent.as(p => `
background-image: linear-gradient(
to right,
${accent} 0%,
${accent} ${p}%,
transparent ${p}%,
transparent 100%
);
background-size: 100% 3px;
background-repeat: no-repeat;
background-position: bottom;
`)}
>
<icon icon={bind(bat, "batteryIconName")} />
<label label={percent.as(p => `${p}%`)} />
</box>
);
}
@@ -0,0 +1,12 @@
import { Variable, bind } from "astal"
import Hyprland from "gi://AstalHyprland"
export default function Layout() {
const hl = Hyprland.get_default();
let layout = Variable("en");
hl.connect("keyboard-layout", (_, __, l) => { layout.set(`${l}`.slice(0, 2).toLowerCase()) })
return <box className={bind(layout).as((l) => `Layout ${l}`)}>
<label label={bind(layout)}/>
</box>
}
@@ -0,0 +1,29 @@
import { Variable, bind } from "astal"
import { Gtk } from "astal/gtk3"
import Mpris from "gi://AstalMpris"
export default function Media() {
const mpris = Mpris.get_default()
// console.log(bind(mpris, "players").as(ps => ps[0] ? `${ps[0].title} ${ps[0].artist} ${ps[0].get_playback_status()}` : "-"));
return <box>
{bind(mpris, "players").as(ps => ps[0] ? (
<button
className={bind(ps[0], "playback-status").as(s => s == 0 ? "Media playing" : "Media")}
onClicked={() => ps[0].play_pause()}>
<box>
<box
className="Cover"
valign={Gtk.Align.CENTER}
css={bind(ps[0], "coverArt").as(cover =>
`background-image: url('${cover}');`
)}
/>
<label
label={bind(ps[0], "title").as(() =>ps[0].title.length < 80 ? ps[0].title : `${ps[0].title.slice(0, 77)}...`)}
/>
</box>
</button>
) : ("") )}
</box>
}
@@ -0,0 +1,22 @@
import { bind } from "astal"
import Tray from "gi://AstalTray"
export default function SysTray() {
const tray = Tray.get_default()
return <box className="item">
{bind(tray, "items").as(i => (i.length > 0) ? (
<box className="SysTray">
{bind(tray, "items").as(items => items.map(item => (
<menubutton
tooltipMarkup={bind(item, "tooltipMarkup")}
usePopover={false}
actionGroup={bind(item, "action-group").as(ag => ["dbusmenu", ag])}
menuModel={bind(item, "menu-model")}>
<icon gicon={bind(item, "gicon")} />
</menubutton>
)))}
</box>
) : ("") )}
</box>
}
@@ -0,0 +1,12 @@
import { Variable, GLib } from "astal"
export default function Time({ format = "%e %b - %H:%M %a" }) {
const time = Variable<string>("").poll(1000, () =>
GLib.DateTime.new_now_local().format(format)!)
return <label
className="Time"
onDestroy={() => time.drop()}
label={time()}
/>
}
@@ -0,0 +1,26 @@
import { bind } from "astal"
import Network from "gi://AstalNetwork"
import { execAsync } from "astal/process"
export default function Wifi() {
const network = Network.get_default()
const wifi = bind(network, "wifi")
return <box visible={wifi.as(Boolean)}>
{wifi.as(wifi => wifi && (
<button
className="Wifi"
onClicked={() => {execAsync("ghostty --title=nmtui -e nmtui")}}>
<box>
<icon
tooltipText={bind(wifi, "ssid").as(String)}
icon={bind(wifi, "iconName")}
/>
<label
label={bind(wifi, "ssid").as(String)}
/>
</box>
</button>
))}
</box>
}
@@ -0,0 +1,21 @@
import { bind } from "astal"
import Hyprland from "gi://AstalHyprland"
export default function Workspaces() {
const hypr = Hyprland.get_default()
return <box className="Workspaces">
{bind(hypr, "workspaces").as(wss => wss
.filter(ws => !(ws.id >= -99 && ws.id <= -2)) // filter out special workspaces
.sort((a, b) => a.id - b.id)
.map(ws => (
<button
className={bind(hypr, "focusedWorkspace").as(fw =>
ws === fw ? "focused" : "")}
onClicked={() => ws.focus()}>
{ws.id}
</button>
))
)}
</box>
}
@@ -9,6 +9,16 @@
imv imv
gromit-mpx gromit-mpx
notify-desktop notify-desktop
inputs.tlock.packages.${system}.default rtorrent
gparted
git-lfs
unrar
hexyl
jq
litecli
trashy
dig
mtr
imagemagick
]; ];
} }
@@ -1,13 +1,12 @@
{ pkgs, lib, config, collection, swww_flags, inputs }: { { pkgs, lib, config, collection, swww_flags, inputs }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
swww ghostty
kitty
pamixer pamixer
wofi wofi
clipse clipse
grimblast grimblast
xclip wl-clipboard
clipnotify cliphist
]; ];
wayland.windowManager.hyprland = wayland.windowManager.hyprland =
@@ -58,15 +57,15 @@
filename = choice(listdir(folder)) filename = choice(listdir(folder))
finally: finally:
system(f"swww img {folder}/{filename} ${swww_flags}") system(f"${lib.getExe pkgs.swww} img {folder}/{filename} ${swww_flags}")
''; '';
clipsync = pkgs.writers.writeBash "clipsync" '' clipsync = pkgs.writers.writeBash "clipsync" ''
while clipnotify; do while ${lib.getExe pkgs.clipnotify}; do
xclip -q -sel clip -t image/png -o > /dev/null && \ ${lib.getExe pkgs.xclip} -q -sel clip -t image/png -o > /dev/null && \
xclip -sel clip -t image/png -o | wl-copy ${lib.getExe pkgs.xclip} -sel clip -t image/png -o | wl-copy
xclip -q -sel clip -o > /dev/null && \ ${lib.getExe pkgs.xclip} -q -sel clip -o > /dev/null && \
xclip -sel clip -o | wl-copy ${lib.getExe pkgs.xclip} -sel clip -o | wl-copy
done done
''; '';
in { in {
@@ -75,23 +74,32 @@
package = inputs.hyprland.packages.${pkgs.system}.hyprland; package = inputs.hyprland.packages.${pkgs.system}.hyprland;
plugins = with inputs.hyprland-plugins.packages.${pkgs.system}; [ plugins = with inputs.hyprland-plugins.packages.${pkgs.system}; [
hyprbars # hyprbars # Version mismatch
]; ];
settings = { settings = {
"$mainMod" = "SUPER"; "$mainMod" = "SUPER";
ecosystem = {
no_donation_nag = true;
no_update_news = true;
};
env = [ env = [
"LIBVA_DRIVER_NAME,nvidia" "LIBVA_DRIVER_NAME,nvidia"
"XDG_SESSION_TYPE,wayland"
"GBM_BACKEND,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia" "__GLX_VENDOR_LIBRARY_NAME,nvidia"
"WLR_NO_HARDWARE_CURSORS,1" "GBM_BACKEND,nvidia"
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_TYPE,wayland" "XDG_SESSION_TYPE,wayland"
"XDG_SESSION_DESKTOP,Hyprland"
"XCURSOR_SIZE,36"
"QT_QPA_PLATFORM,wayland" "QT_QPA_PLATFORM,wayland"
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_DESKTOP,Hyprland"
"WLR_NO_HARDWARE_CURSORS,1"
"XCURSOR_SIZE, ${toString config.stylix.cursor.size}"
"XCURSOR_THEME, ${config.stylix.cursor.name}"
"XDG_SCREENSHOTS_DIR,~/screens" "XDG_SCREENSHOTS_DIR,~/screens"
]; ];
@@ -113,38 +121,37 @@
natural_scroll = false; natural_scroll = false;
}; };
sensitivity = 0; # -1.0 - 1.0, 0 means no modification. sensitivity = 0;
}; };
windowrule = [ windowrule = [
"float, ^(imv)$" "float, class:^(imv)$"
"float, ^(feh)$" "float, class:^(feh)$"
"float, ^(mpv)$" "float, class:^(mpv)$"
"float, ^(nmtui)$"
"float, title:^(Список друзей)" "float, title:^(Список друзей)"
]; "move onscreen cursor -50% -50%, class:^(xdragon)$"
"float, title:(nmtui)"
windowrulev2 = [ "float, title:(pulsemixer)"
"float, class:(clipse)" "float, title:(clipse)"
"size 622 652, class:(clipse)" "size 622 652, title:(clipse)"
]; ];
exec-once = [ exec-once = [
"systemctl --user start plasma-polkit-agent" "systemctl --user start plasma-polkit-agent"
"swww init" "${lib.getExe' pkgs.swww "swww-daemon"}"
"${lib.getExe wallpaper_changer}" "${lib.getExe wallpaper_changer}"
"${lib.getExe pkgs.hyprpanel}"
"${clipsync}" "${clipsync}"
"clipse -listen" "clipse -listen"
"${lib.getExe' pkgs.udiskie "udiskie"}"
]; ];
bind = [ bind = [
"$mainMod, V, exec, kitty --class clipse -e clipse" "$mainMod, V, exec, ghostty --title=clipse -e clipse"
"$mainMod, Return, exec, kitty" "$mainMod, Return, exec, ghostty"
"$mainMod, Q, killactive," "$mainMod, Q, killactive,"
"$mainMod, M, exit," "$mainMod, M, exit,"
"$mainMod, E, exec, kitty -e sh -c yazi" "$mainMod, E, exec, ghostty -e sh -c yazi"
"$mainMod, F, togglefloating," "$mainMod, F, togglefloating,"
"$mainMod, D, exec, wofi --show drun" "$mainMod, D, exec, wofi --show drun"
"$mainMod, P, pseudo, # dwindle" "$mainMod, P, pseudo, # dwindle"
@@ -199,8 +206,8 @@
"$mainMod, mouse_up, workspace, e-1" "$mainMod, mouse_up, workspace, e-1"
# Keyboard backlight # Keyboard backlight
"$mainMod, F3, exec, brightnessctl -d *::kbd_backlight set +33%" "$mainMod, F3, exec, ${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set +33%"
"$mainMod, F2, exec, brightnessctl -d *::kbd_backlight set 33%-" "$mainMod, F2, exec, ${lib.getExe pkgs.brightnessctl} -d *::kbd_backlight set 33%-"
# Volume and Media Control # Volume and Media Control
", XF86AudioRaiseVolume, exec, pamixer -i 5 " ", XF86AudioRaiseVolume, exec, pamixer -i 5 "
@@ -209,8 +216,8 @@
", XF86AudioMicMute, exec, pamixer --default-source -m" ", XF86AudioMicMute, exec, pamixer --default-source -m"
# Brightness control # Brightness control
", XF86MonBrightnessDown, exec, brightnessctl set 5%- " ", XF86MonBrightnessDown, exec, ${lib.getExe pkgs.brightnessctl} set 5%- "
", XF86MonBrightnessUp, exec, brightnessctl set +5% " ", XF86MonBrightnessUp, exec, ${lib.getExe pkgs.brightnessctl} set +5% "
# Waybar # Waybar
"$mainMod, B, exec, pkill -SIGUSR1 waybar" "$mainMod, B, exec, pkill -SIGUSR1 waybar"
File renamed without changes.
@@ -1,6 +1,6 @@
{ config, ... }: { { config, ... }: {
sops = { sops = {
defaultSopsFile = ../users/${config.home.username}/secrets.yaml; defaultSopsFile = ../../user/${config.home.username}/secrets.yaml;
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt"; age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
secrets."tokens/apis/wallhaven" = {}; secrets."tokens/apis/wallhaven" = {};
File renamed without changes.
@@ -2,8 +2,14 @@
yazi-plugins = pkgs.fetchFromGitHub { yazi-plugins = pkgs.fetchFromGitHub {
owner = "yazi-rs"; owner = "yazi-rs";
repo = "plugins"; repo = "plugins";
rev = "c5785059611624e20a37ba573620f30acc28a26a"; rev = "273019910c1111a388dd20e057606016f4bd0d17";
hash = "sha256-wlSBtabIsEUJhuHmXwgpSnwZp9WaVQFBg6s1XXjubrE="; hash = "sha256-80mR86UWgD11XuzpVNn56fmGRkvj0af2cFaZkU8M31I=";
};
starship = pkgs.fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "6c639b474aabb17f5fecce18a4c97bf90b016512";
sha256 = "sha256-bhLUziCDnF4QDCyysRn7Az35RAy8ibZIVUzoPgyEO1A=";
}; };
in { in {
programs.yazi = { programs.yazi = {
@@ -25,12 +31,7 @@ in {
chmod = "${yazi-plugins}/chmod.yazi"; chmod = "${yazi-plugins}/chmod.yazi";
full-border = "${yazi-plugins}/full-border.yazi"; full-border = "${yazi-plugins}/full-border.yazi";
max-preview = "${yazi-plugins}/max-preview.yazi"; max-preview = "${yazi-plugins}/max-preview.yazi";
starship = pkgs.fetchFromGitHub { starship = starship;
owner = "Rolv-Apneseth";
repo = "starship.yazi";
rev = "77a65f5a367f833ad5e6687261494044006de9c3";
sha256 = "sha256-sAB0958lLNqqwkpucRsUqLHFV/PJYoJL2lHFtfHDZF8=";
};
}; };
initLua = '' initLua = ''
@@ -50,6 +51,15 @@ in {
run = "plugin chmod"; run = "plugin chmod";
desc = "Chmod on selected files"; desc = "Chmod on selected files";
} }
{
on = [ "<C-n>" ];
run = ''shell '${lib.getExe pkgs.xdragon} -x -i -T "$@"' --confirm'';
}
{
on = [ "g" "<S-d>" ];
run = ''cd /mnt/D'';
desc = "Goto D drive";
}
]; ];
}; };
}; };
@@ -12,7 +12,7 @@
add_newline = true; add_newline = true;
format = '' format = ''
$os$directory$git_branch$git_status $os$directory$git_branch$git_status
$status$character $nix_shell$status$character
''; '';
right_format = "$all"; right_format = "$all";
@@ -35,6 +35,7 @@
fish_style_pwd_dir_length = 1; fish_style_pwd_dir_length = 1;
read_only = " RO"; read_only = " RO";
}; };
nix_shell.format = "[nix-shell]($style) ";
os.disabled = false; os.disabled = false;
python = { python = {
symbol = "py "; symbol = "py ";
@@ -44,8 +45,6 @@
}; };
}; };
zellij.enable = true;
zsh = { zsh = {
enable = true; enable = true;
enableCompletion = true; enableCompletion = true;
@@ -71,6 +70,7 @@
ff = "fastfetch"; ff = "fastfetch";
cat = "${pkgs.lib.getExe pkgs.bat}"; cat = "${pkgs.lib.getExe pkgs.bat}";
cd = "z"; cd = "z";
lg = "lazygit";
}; };
initExtra = '' initExtra = ''
@@ -80,6 +80,10 @@
source "$(fzf-share)/completion.zsh" source "$(fzf-share)/completion.zsh"
''; '';
envExtra = ''
TERM=xterm-256color
'';
history.size = 10000; history.size = 10000;
history.path = "${config.xdg.dataHome}/zsh/history"; history.path = "${config.xdg.dataHome}/zsh/history";
-70
View File
@@ -1,70 +0,0 @@
{ config, pkgs, ...}: {
imports = [
./hardware-configuration.nix
./secrets/secrets.nix
./modules/grub.nix
../../packages.nix
../../modules/bundle.nix
../../modules/gamemode.nix
../../modules/users/chest.nix
];
networking.hostName = "Eclipse";
time.timeZone = "Europe/Moscow";
i18n.defaultLocale = "ru_RU.UTF-8";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = "23.05";
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
networking.hosts = {
"0.0.0.0" = [
"overseauspider.yuanshen.com"
"log-upload-os.hoyoverse.com"
"log-upload-os.mihoyo.com"
"dump.gamesafe.qq.com"
"apm-log-upload-os.hoyoverse.com"
"zzz-log-upload-os.hoyoverse.com"
"log-upload.mihoyo.com"
"devlog-upload.mihoyo.com"
"uspider.yuanshen.com"
"sg-public-data-api.hoyoverse.com"
"hkrpg-log-upload-os.hoyoverse.com"
"public-data-api.mihoyo.com"
"prd-lender.cdp.internal.unity3d.com"
"thind-prd-knob.data.ie.unity3d.com"
"thind-gke-usc.prd.data.corp.unity3d.com"
"cdp.cloud.unity3d.com"
"remote-config-proxy-prd.uca.cloud.unity3d.com"
"pc.crashsight.wetest.net"
];
};
services.gvfs.enable = true;
services.udisks2.enable = true;
}
-20
View File
@@ -1,20 +0,0 @@
{
"data": "ENC[AES256_GCM,data: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 truncated
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJTGRuVlFhTm1aSWplc0hl\ndCtrZ0I3TzA2Nk52SWRqalJheHNSbVZjYURZClVBbkdPVHRLbVhsVHAwb2U1NkF2\nT2dsSEp3WnFVNU51bXpyaU4zY1pYOUkKLS0tIFg0WlNCRzBoQ1JQanRSbUhoc29u\nWmtRTldiRlh6TXByZEwrVkNqeW9LSVkK+42St/pflwAwiq9VUXg3YvdhNShVJGK7\nOdvi0T3+jWViesMxDtJxlgiv7Dgc5yQ6s9yXtXYn7LdEDluWiaP/PA==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-11-08T14:33:09Z",
"mac": "ENC[AES256_GCM,data:jFaL+b8kJtA3GbAiS5PdTQ4L6BoKEQlUKFAmT5mBW4aNpBZJr91OFhfWnkhW0CirkW+VZJvj76hq79IrVBhYvH1EL/HYBxx9YrxzF0Xl95j1zwCFwGunx8EzVkDlFrDq6Sr6ygR2rgBh/gHuDlhmmtpyyDp2FffLYV9+BeTmDZY=,iv:OuFnskVt08vLZ+MC4ees8n91ry9WDqvifdL8Z+WAn2A=,tag:KUyv5b21t1B3S0hCngAOpw==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.1"
}
}
-44
View File
@@ -1,44 +0,0 @@
{ config, pkgs, inputs, ...}: {
imports = [
./hardware-configuration.nix
./secrets/secrets.nix
./modules/grub.nix
../../packages.nix
../../modules/bundle.nix
../../modules/adb.nix
../../modules/gamemode.nix
../../modules/users/sweetbread.nix
];
networking.hostName = "Rias";
time.timeZone = "Europe/Moscow";
i18n.defaultLocale = "ru_RU.UTF-8";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = "23.05";
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "sweetbread" ];
}
-9
View File
@@ -1,9 +0,0 @@
{
sops = {
age.keyFile = "/root/age.key";
secrets.vpn_bolt = {
format = "binary";
sopsFile = ./vpn_bolt.db;
};
};
}
-20
View File
@@ -1,20 +0,0 @@
{
"data": "ENC[AES256_GCM,data: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 truncated
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1j3uuyax673fvl5x4dveupq3dylngnrq0e5uy7fmclsexkfd25vysk646wk",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0VWF3NUxHUFo0K1Nvak9I\nMkE0SUg1Mjl4eTM2VG9WRjFadDRJRTVoSGhFCmNIaVlweG9GK0VxaXhtODNVTW5z\nWDdSYjZBdi9qSi9ZTkdUcTAvYUl4NkEKLS0tIHlZcWl6dmdtbnZmMjNadnI3TVYy\nbFRDNm9XRlFZdDNPdGVxNmtYUm5YMEEKlTJZsxFyVI9Chq2URLsaJWtY6zyLAwzu\nLEoXYtMrViJdAyq/hU1tHYGtPNNo3TG7Xle9m/VO+7Ll+rcGwOEpbw==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-11-07T19:55:09Z",
"mac": "ENC[AES256_GCM,data:DBcAJyRBB+jaNTMC+QMNex7CmYJ8H766I507MK6vdowhbJ5B/4LhIb20tCMT7+yKQsI3RCWz6wHiKSflPZTgHia3YEJseb84/2JtwrpG0xDcUU4/fbBORDdP+au99G4EBXtKS0pREAZX2bw2LFPdmSO83UZhVpc/CW3Asm+Gkv4=,iv:AHQWsuWQ8F29abqxCBejZVY9FW8bt/S4xXsnScqo8Oo=,tag:JhTbphtHuOlJtn1CPGCvjg==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.1"
}
}
-39
View File
@@ -1,39 +0,0 @@
{ config, pkgs, ...}: {
imports = [
./hardware-configuration.nix
./secrets/secrets.nix
../../packages.nix
../../modules/bundle.nix
../../modules/adb.nix
../../modules/users/sweetbread.nix
../../modules/laptop.nix
];
networking.hostName = "Senko";
time.timeZone = "Europe/Moscow";
i18n.defaultLocale = "ru_RU.UTF-8";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = "23.05";
hardware.graphics = {
enable = true;
enable32Bit = true;
extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
};
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
}
-1
View File
@@ -1 +0,0 @@
../Rias/secrets
-17
View File
@@ -1,17 +0,0 @@
{
imports = [
./bootloader.nix
./sound.nix
./zram.nix
./env.nix
./nm.nix
./virtmanager.nix
./trim.nix
./bluetooth.nix
./vpn.nix
./printing.nix
./shutdown-on-lan.nix
];
programs.hyprland.enable = true;
}
-17
View File
@@ -1,17 +0,0 @@
{pkgs, ...}: {
programs.steam.enable = true;
programs.steam.gamescopeSession.enable = true;
programs.gamemode.enable = true;
environment.systemPackages = with pkgs; [
mangohud
protonup
bottles
heroic
];
environment.sessionVariables = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS =
"\${HOME}/.steam/root/compatibilitytools.d";
};
}
-17
View File
@@ -1,17 +0,0 @@
{
services.tlp = {
enable = true;
settings = {
CPU_SCALING_GOVERNOR_ON_AC = "performance";
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
CPU_MIN_PERF_ON_AC = 0;
CPU_MAX_PERF_ON_AC = 100;
CPU_MIN_PERF_ON_BAT = 0;
CPU_MAX_PERF_ON_BAT = 25;
};
};
}
-3
View File
@@ -1,3 +0,0 @@
{
networking.networkmanager.enable = true;
}
Loaded 100 of 119 files, more files were not shown because too many files have changed in this diff. Show more