This commit is contained in:
parent
28f82915cf
commit
fe6455b4f2
129
flake.lock
129
flake.lock
@ -758,6 +758,64 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"niri": {
|
||||||
|
"inputs": {
|
||||||
|
"niri-stable": "niri-stable",
|
||||||
|
"niri-unstable": "niri-unstable",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763891121,
|
||||||
|
"narHash": "sha256-Arwlg5N1ssnSxPiTMYFNgZL/oGZvVJRtFHMEWOvVkk4=",
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"rev": "d2c10541bad1e7c9341fd269ec35da54a2c48219",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756556321,
|
||||||
|
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"ref": "v25.08",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763887185,
|
||||||
|
"narHash": "sha256-uuwCdsGQUXoTSS02ShZAq+PeWudn0xu4vKpH43OubX8=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "efbe29f3faa69282aad110b7da74f3c41f8971cf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762267440,
|
"lastModified": 1762267440,
|
||||||
@ -790,6 +848,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763622513,
|
||||||
|
"narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748929857,
|
"lastModified": 1748929857,
|
||||||
@ -877,6 +951,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"noctalia": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763899714,
|
||||||
|
"narHash": "sha256-qsp91fwNj5SoqrZKGFqBMRZcEbrP6v7UoWaCxTQoJes=",
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-shell",
|
||||||
|
"rev": "faa074c330581cc4a065e592717045ba4fe1fc5d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-shell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
@ -976,9 +1070,11 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpolkitagent": "hyprpolkitagent",
|
"hyprpolkitagent": "hyprpolkitagent",
|
||||||
|
"niri": "niri",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
|
"noctalia": "noctalia",
|
||||||
"nvf": "nvf",
|
"nvf": "nvf",
|
||||||
"spicetify-nix": "spicetify-nix",
|
"spicetify-nix": "spicetify-nix",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
@ -1263,6 +1359,39 @@
|
|||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"xwayland-satellite-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1755491097,
|
||||||
|
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "388d291e82ffbc73be18169d39470f340707edaa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"ref": "v0.7",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xwayland-satellite-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763704521,
|
||||||
|
"narHash": "sha256-ceYEV6PnvUN8Zixao4gpPuN+VT3B0SlAXKuPNHZhqUY=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "f379ff5722a821212eb59ada9cf8e51cb3654aad",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
15
flake.nix
15
flake.nix
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
description = ''
|
description = ''
|
||||||
Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place.
|
Dhimas config based on nixy
|
||||||
It's a simple way to manage your system configuration and dotfiles.
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
@ -27,16 +26,24 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nvf.url = "github:notashelf/nvf";
|
nvf.url = "github:notashelf/nvf";
|
||||||
|
niri = {
|
||||||
|
url = "github:sodiboo/niri-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
noctalia = {
|
||||||
|
url = "github:noctalia-dev/noctalia-shell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, ... }: {
|
outputs = inputs @ {nixpkgs, ...}: {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
dark =
|
dark =
|
||||||
# CHANGEME: This should match the 'hostname' in your variables.nix file
|
# CHANGEME: This should match the 'hostname' in your variables.nix file
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
{ _module.args = { inherit inputs; }; }
|
{_module.args = {inherit inputs;};}
|
||||||
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x270 # CHANGEME: check https://github.com/NixOS/nixos-hardware
|
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x270 # CHANGEME: check https://github.com/NixOS/nixos-hardware
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
|
|||||||
@ -1,4 +1,8 @@
|
|||||||
{ pkgs, inputs, ... }: {
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.dark = {
|
profiles.dark = {
|
||||||
@ -49,10 +53,11 @@
|
|||||||
search = {
|
search = {
|
||||||
force = true;
|
force = true;
|
||||||
default = "Searx";
|
default = "Searx";
|
||||||
order = [ "Searx" "google" ];
|
order = ["Searx" "google"];
|
||||||
engines = {
|
engines = {
|
||||||
"Nix Packages" = {
|
"Nix Packages" = {
|
||||||
urls = [{
|
urls = [
|
||||||
|
{
|
||||||
template = "https://search.nixos.org/packages";
|
template = "https://search.nixos.org/packages";
|
||||||
params = [
|
params = [
|
||||||
{
|
{
|
||||||
@ -64,35 +69,37 @@
|
|||||||
value = "{searchTerms}";
|
value = "{searchTerms}";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}];
|
}
|
||||||
icon =
|
];
|
||||||
"''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
definedAliases = [ "@np" ];
|
definedAliases = ["@np"];
|
||||||
};
|
};
|
||||||
"NixOS Wiki" = {
|
"NixOS Wiki" = {
|
||||||
urls = [{
|
urls = [
|
||||||
|
{
|
||||||
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
template = "https://nixos.wiki/index.php?search={searchTerms}";
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
icon = "https://nixos.wiki/favicon.png";
|
icon = "https://nixos.wiki/favicon.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
definedAliases = [ "@nw" ];
|
definedAliases = ["@nw"];
|
||||||
};
|
};
|
||||||
"Searx" = {
|
"Searx" = {
|
||||||
urls = [{
|
urls = [
|
||||||
|
{
|
||||||
template = "https://searx.aicampground.com/?q={searchTerms}";
|
template = "https://searx.aicampground.com/?q={searchTerms}";
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
icon = "https://nixos.wiki/favicon.png";
|
icon = "https://nixos.wiki/favicon.png";
|
||||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
definedAliases = [ "@searx" ];
|
definedAliases = ["@searx"];
|
||||||
};
|
};
|
||||||
bing.metaData.hidden = true;
|
bing.metaData.hidden = true;
|
||||||
google.metaData.alias =
|
google.metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
||||||
"@g"; # builtin engines only support specifying one additional alias
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
extensions.packages =
|
extensions.packages = with inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||||
with inputs.firefox-addons.packages.${pkgs.system}; [
|
|
||||||
bitwarden
|
bitwarden
|
||||||
multi-account-containers
|
multi-account-containers
|
||||||
zotero-connector
|
zotero-connector
|
||||||
@ -100,5 +107,5 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
stylix.targets.firefox.profileNames = [ "dark" ];
|
stylix.targets.firefox.profileNames = ["dark"];
|
||||||
}
|
}
|
||||||
|
|||||||
18
home/programs/helix/default.nix
Normal file
18
home/programs/helix/default.nix
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
languages = {
|
||||||
|
language = [
|
||||||
|
{
|
||||||
|
name = "nix";
|
||||||
|
auto-format = true;
|
||||||
|
formatter.command = "${pkgs.nixfmt}/bin/nixfmt";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,6 +1,10 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
{
|
||||||
inputs = [
|
inputs,
|
||||||
inputs.nfv.homeManagerModules.default
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
inputs.nvf.homeManagerModules.default
|
||||||
./options.nix
|
./options.nix
|
||||||
./languages.nix
|
./languages.nix
|
||||||
./picker.nix
|
./picker.nix
|
||||||
@ -9,5 +13,12 @@
|
|||||||
./utils.nix
|
./utils.nix
|
||||||
./mini.nix
|
./mini.nix
|
||||||
];
|
];
|
||||||
programs.nvf = { enable = true; };
|
programs.nvf = {
|
||||||
|
enable = true;
|
||||||
|
settings.vim = {
|
||||||
|
startPlugins = [
|
||||||
|
pkgs.vimPlugins.vim-kitty-navigator
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
php = {
|
php = {
|
||||||
enable = true;
|
enable = true;
|
||||||
server = "intelephense";
|
lsp.server = "intelephense";
|
||||||
};
|
};
|
||||||
go.enable = true;
|
go.enable = true;
|
||||||
markdown = {
|
markdown = {
|
||||||
|
|||||||
@ -1,13 +1,16 @@
|
|||||||
# Spicetify is a spotify client customizer
|
# Spicetify is a spotify client customizer
|
||||||
{ pkgs, config, lib, inputs, ... }:
|
{
|
||||||
let
|
pkgs,
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
|
||||||
accent = "${config.lib.stylix.colors.base0D}";
|
accent = "${config.lib.stylix.colors.base0D}";
|
||||||
|
background = "${config.lib.stylix.colors.base00}";
|
||||||
in {
|
in {
|
||||||
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
|
imports = [inputs.spicetify-nix.homeManagerModules.default];
|
||||||
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [ "spotify" ];
|
|
||||||
|
|
||||||
stylix.targets.spicetify.enable = false;
|
stylix.targets.spicetify.enable = false;
|
||||||
|
|
||||||
@ -21,6 +24,9 @@ in {
|
|||||||
button = accent;
|
button = accent;
|
||||||
button-active = accent;
|
button-active = accent;
|
||||||
tab-active = accent;
|
tab-active = accent;
|
||||||
|
player = background;
|
||||||
|
main = background;
|
||||||
|
sidebar = background;
|
||||||
};
|
};
|
||||||
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
@ -31,6 +37,7 @@ in {
|
|||||||
adblock
|
adblock
|
||||||
fullAppDisplay
|
fullAppDisplay
|
||||||
shuffle
|
shuffle
|
||||||
|
keyboardShortcut
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
{
|
||||||
home.packages =
|
inputs,
|
||||||
[ inputs.hyprpolkitagent.packages."${pkgs.system}".hyprpolkitagent ];
|
pkgs,
|
||||||
|
...
|
||||||
wayland.windowManager.hyprland.settings.exec-once =
|
}: {
|
||||||
[ "systemctl --user start hyprpolkitagent" ];
|
home.packages = [inputs.hyprpolkitagent.packages."${pkgs.stdenv.hostyPlatform.system}".hyprpolkitagent];
|
||||||
|
wayland.windowManager.hyprland.settings.exec-once = ["systemctl --user start hyprpolkitagent"];
|
||||||
}
|
}
|
||||||
|
|||||||
244
home/system/niri/default.nix
Normal file
244
home/system/niri/default.nix
Normal file
@ -0,0 +1,244 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
noctalia = cmd:
|
||||||
|
["noctalia-shell" "ipc" "call"]
|
||||||
|
++ (pkgs.lib.splitString " " cmd);
|
||||||
|
in {
|
||||||
|
imports = [inputs.niri.homeModules.niri inputs.noctalia.homeModules.default];
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
wayland-utils
|
||||||
|
libsecret
|
||||||
|
cage
|
||||||
|
xwayland-satellite
|
||||||
|
libnotify
|
||||||
|
cliphist
|
||||||
|
cava
|
||||||
|
kdePackages.polkit-kde-agent-1
|
||||||
|
nautilus
|
||||||
|
direnv
|
||||||
|
imv
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
prefer-no-csd = true;
|
||||||
|
hotkey-overlay.skip-at-startup = true;
|
||||||
|
environment = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
QT_QPA_PLATFORM = "wayland";
|
||||||
|
ELECTRON_OZON_PLATFORM_HINT = "wayland";
|
||||||
|
DISPLAY = ":0"; # Or null
|
||||||
|
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
hide-when-typing = true;
|
||||||
|
hide-after-inactive-ms = 1000;
|
||||||
|
};
|
||||||
|
|
||||||
|
binds = with config.lib.niri.actions; {
|
||||||
|
"Mod+Space".action.spawn = noctalia "launcher toggle";
|
||||||
|
"Mod+P".action.spawn = noctalia "sessionMenu toggle";
|
||||||
|
"Mod+V".action.spawn = noctalia "launcher clipboard";
|
||||||
|
"Mod+Shift+C".action.spawn = noctalia "launcher calculator";
|
||||||
|
"Mod+C".action.spawn = noctalia "calendar toggle";
|
||||||
|
"Mod+S".action.spawn = noctalia "controlCenter toggle";
|
||||||
|
"Mod+F12".action.spawn = noctalia "powerProfile cycle";
|
||||||
|
"XF86AudioLowerVolume".action.spawn = noctalia "volume decrease";
|
||||||
|
"XF86AudioRaiseVolume".action.spawn = noctalia "volume increase";
|
||||||
|
"XF86AudioMute".action.spawn = noctalia "volume muteOutput";
|
||||||
|
"XF86MonBrightnessUp".action.spawn = noctalia "brightness increase";
|
||||||
|
"XF86MonBrightnessDown".action.spawn = noctalia "brightness decrease";
|
||||||
|
"XF86AudioPlay".action.spawn = noctalia "media playPause";
|
||||||
|
"XF86AudioNext".action.spawn = noctalia "media next";
|
||||||
|
"XF86AudioPrev".action.spawn = noctalia "media previous";
|
||||||
|
"Mod+Shift+Q".action.spawn = noctalia "lockScreen lock";
|
||||||
|
"Mod+Return".action.spawn = ["alacritty"];
|
||||||
|
"Mod+E".action.spawn = ["nautilus"];
|
||||||
|
"Mod+B".action.spawn = ["firefox"];
|
||||||
|
"Mod+U".action = move-workspace-up;
|
||||||
|
"Mod+I".action = move-workspace-down;
|
||||||
|
"Mod+Shift+Slash".action = show-hotkey-overlay;
|
||||||
|
"Mod+Q".action = close-window;
|
||||||
|
"Mod+H".action = focus-column-or-monitor-left;
|
||||||
|
"Mod+L".action = focus-column-or-monitor-right;
|
||||||
|
"Mod+J".action = focus-window-or-monitor-down;
|
||||||
|
"Mod+K".action = focus-window-or-monitor-up;
|
||||||
|
"Mod+Shift+H".action = move-column-left-or-to-monitor-left;
|
||||||
|
"Mod+Shift+L".action = move-column-right-or-to-monitor-right;
|
||||||
|
"Mod+Shift+J".action = move-window-down-or-to-workspace-down;
|
||||||
|
"Mod+Shift+K".action = move-window-up-or-to-workspace-up;
|
||||||
|
"Mod+Ctrl+K".action = move-window-to-workspace-up;
|
||||||
|
"Mod+Ctrl+J".action = move-window-to-workspace-down;
|
||||||
|
"Mod+0".action = focus-workspace 0;
|
||||||
|
"Mod+1".action = focus-workspace 1;
|
||||||
|
"Mod+2".action = focus-workspace 2;
|
||||||
|
"Mod+3".action = focus-workspace 3;
|
||||||
|
"Mod+4".action = focus-workspace 4;
|
||||||
|
"Mod+5".action = focus-workspace 5;
|
||||||
|
"Mod+6".action = focus-workspace 6;
|
||||||
|
"Mod+7".action = focus-workspace 7;
|
||||||
|
"Mod+8".action = focus-workspace 8;
|
||||||
|
"Mod+9".action = focus-workspace 9;
|
||||||
|
"Mod+Shift+Period".action = move-workspace-to-monitor-next;
|
||||||
|
"Mod+Shift+Comma".action = move-workspace-to-monitor-previous;
|
||||||
|
"Mod+Comma".action = consume-or-expel-window-left;
|
||||||
|
"Mod+Period".action = consume-or-expel-window-right;
|
||||||
|
"Mod+Grave".action = toggle-overview;
|
||||||
|
"Mod+Tab".action = focus-workspace-previous;
|
||||||
|
"Mod+Equal".action = set-column-width "+5%";
|
||||||
|
"Mod+Minus".action = set-column-width "-5%";
|
||||||
|
"Mod+Shift+Equal".action = set-window-height "+5%";
|
||||||
|
"Mod+Shift+Minus".action = set-window-height "-5%";
|
||||||
|
"Mod+F".action = maximize-column;
|
||||||
|
"Mod+Shift+F".action = fullscreen-window;
|
||||||
|
"Mod+Ctrl+Shift+F".action = toggle-windowed-fullscreen;
|
||||||
|
"Mod+Y".action = toggle-window-floating;
|
||||||
|
"Mod+Shift+Y".action = switch-focus-between-floating-and-tiling;
|
||||||
|
"Mod+W".action = toggle-column-tabbed-display;
|
||||||
|
"Mod+Parenright".action = switch-layout "next";
|
||||||
|
"Mod+Parenleft".action = switch-layout "prev";
|
||||||
|
"Mod+Shift+E".action = quit;
|
||||||
|
};
|
||||||
|
|
||||||
|
input = {
|
||||||
|
warp-mouse-to-focus.enable = true;
|
||||||
|
focus-follows-mouse.enable = false;
|
||||||
|
trackpoint = {
|
||||||
|
accel-profile = "adaptive";
|
||||||
|
accel-speed = 0.6;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
layout = {
|
||||||
|
focus-ring = {
|
||||||
|
width = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
window-rules = [
|
||||||
|
{
|
||||||
|
geometry-corner-radius = let
|
||||||
|
r = 4.0;
|
||||||
|
in {
|
||||||
|
top-left = r;
|
||||||
|
top-right = r;
|
||||||
|
bottom-left = r;
|
||||||
|
bottom-right = r;
|
||||||
|
};
|
||||||
|
clip-to-geometry = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [{app-id = "firefox";}];
|
||||||
|
open-maximized = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [{app-id = "chromium-browser";}];
|
||||||
|
open-maximized = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
# debug = {
|
||||||
|
# honor-xdg-activation-with-invalid-serial = 1;
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.noctalia-shell = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = true;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
animationSpeed = 2;
|
||||||
|
compactLockScreen = true;
|
||||||
|
};
|
||||||
|
wallpaper = {
|
||||||
|
enabled = false;
|
||||||
|
directory = "~/Pictures/wallpapers";
|
||||||
|
};
|
||||||
|
dock.enabled = false;
|
||||||
|
bar = {
|
||||||
|
density = "compact";
|
||||||
|
position = "right";
|
||||||
|
showCapsule = false;
|
||||||
|
widgets = {
|
||||||
|
left = [
|
||||||
|
{
|
||||||
|
id = "SidePanelToggle";
|
||||||
|
useDistroLogo = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "WiFi";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "Bluetooth";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
center = [
|
||||||
|
{
|
||||||
|
hideUnoccupied = false;
|
||||||
|
id = "Workspace";
|
||||||
|
labelMode = "none";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
right = [
|
||||||
|
{
|
||||||
|
colorizeIcons = true;
|
||||||
|
drawerEnabled = true;
|
||||||
|
id = "Tray";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
alwaysShowPercentage = false;
|
||||||
|
id = "Battery";
|
||||||
|
warningThreshold = 30;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
formatHorizontal = "HH:mm";
|
||||||
|
formatVertical = "HH mm";
|
||||||
|
id = "Clock";
|
||||||
|
useMonospacedFont = true;
|
||||||
|
usePrimaryColor = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
colorSchemes.predefinedScheme = "Monochrome";
|
||||||
|
general = {
|
||||||
|
avatarImage = "/home/dim/.face";
|
||||||
|
radiusRatio = 0.2;
|
||||||
|
};
|
||||||
|
location = {
|
||||||
|
monthBeforeDay = false;
|
||||||
|
name = "Tangerang";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# this may also be a string or a path to a JSON file,
|
||||||
|
# but in this case must include *all* settings.
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
window.decorations = "None";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.kanshi = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
rumah = {
|
||||||
|
outputs = [
|
||||||
|
{
|
||||||
|
criteria = "LG Electronics 16EN33 305INKH5P181";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position = "0,768";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,20 +1,24 @@
|
|||||||
{ config, pkgs, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (config.var.theme.bar) position;
|
inherit (config.var.theme.bar) position;
|
||||||
inherit (config.var.theme) rounding border-size gaps-in gaps-out;
|
inherit (config.var.theme) rounding border-size gaps-in gaps-out;
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [ playerctl ];
|
home.packages = with pkgs; [playerctl];
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
target = "hyprland-session";
|
target = "hyprland-session";
|
||||||
};
|
};
|
||||||
settings = [{
|
settings = [
|
||||||
|
{
|
||||||
layer = "top";
|
layer = "top";
|
||||||
position = position;
|
position = position;
|
||||||
modules-left = [ "hyprland/workspaces" "hyprland/window" ];
|
modules-left = ["hyprland/workspaces" "mpris"];
|
||||||
modules-center = [ "mpris" ];
|
modules-center = [];
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"idle_inhibitor"
|
"idle_inhibitor"
|
||||||
"backlight"
|
"backlight"
|
||||||
@ -25,7 +29,6 @@ in {
|
|||||||
"temperature"
|
"temperature"
|
||||||
"clock"
|
"clock"
|
||||||
"privacy"
|
"privacy"
|
||||||
"custom/cuaca"
|
|
||||||
"wireplumber"
|
"wireplumber"
|
||||||
"tray"
|
"tray"
|
||||||
];
|
];
|
||||||
@ -54,9 +57,9 @@ in {
|
|||||||
"on-scroll-down" = "shift_down";
|
"on-scroll-down" = "shift_down";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
tray = { spacing = gaps-in; };
|
tray = {spacing = gaps-in;};
|
||||||
cpu = { format = " {usage}"; };
|
cpu = {format = " {usage}";};
|
||||||
memory = { format = " {}"; };
|
memory = {format = " {}";};
|
||||||
idle_inhibitor = {
|
idle_inhibitor = {
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
@ -75,11 +78,11 @@ in {
|
|||||||
tooltip-format-disconnected = "Disconnected";
|
tooltip-format-disconnected = "Disconnected";
|
||||||
max-length = 50;
|
max-length = 50;
|
||||||
};
|
};
|
||||||
temperature = { format = "{temperatureC} "; };
|
temperature = {format = "{temperatureC} ";};
|
||||||
backlight = {
|
backlight = {
|
||||||
device = "intel_backlight";
|
device = "intel_backlight";
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = [ "" "" "" "" "" "" "" "" "" ];
|
format-icons = ["" "" "" "" "" "" "" "" ""];
|
||||||
};
|
};
|
||||||
"battery#1" = {
|
"battery#1" = {
|
||||||
bat = "BAT0";
|
bat = "BAT0";
|
||||||
@ -99,7 +102,7 @@ in {
|
|||||||
critical = 15;
|
critical = 15;
|
||||||
};
|
};
|
||||||
format = "{capacity} {icon}";
|
format = "{capacity} {icon}";
|
||||||
format-icons = [ "" "" "" "" "" ];
|
format-icons = ["" "" "" "" ""];
|
||||||
max-length = 25;
|
max-length = 25;
|
||||||
};
|
};
|
||||||
"hyprland/window" = {
|
"hyprland/window" = {
|
||||||
@ -111,7 +114,7 @@ in {
|
|||||||
};
|
};
|
||||||
separate-outputs = true;
|
separate-outputs = true;
|
||||||
};
|
};
|
||||||
"hyprland/workspaces" = { format = "<small>{name}</small>"; };
|
"hyprland/workspaces" = {format = "<small>{name}</small>";};
|
||||||
mpris = {
|
mpris = {
|
||||||
"format" = "{player_icon} {dynamic}";
|
"format" = "{player_icon} {dynamic}";
|
||||||
"format-paused" = "{status_icon} <i>{dynamic}</i>";
|
"format-paused" = "{status_icon} <i>{dynamic}</i>";
|
||||||
@ -120,8 +123,8 @@ in {
|
|||||||
"mpv" = "";
|
"mpv" = "";
|
||||||
};
|
};
|
||||||
"dynamic-len" = 30;
|
"dynamic-len" = 30;
|
||||||
"status-icons" = { "paused" = ""; };
|
"status-icons" = {"paused" = "";};
|
||||||
"ignored-players" = [ "firefox" ];
|
"ignored-players" = ["firefox"];
|
||||||
};
|
};
|
||||||
privacy = {
|
privacy = {
|
||||||
"icon-spacing" = 4;
|
"icon-spacing" = 4;
|
||||||
@ -154,11 +157,11 @@ in {
|
|||||||
"phone" = "";
|
"phone" = "";
|
||||||
"portable" = "";
|
"portable" = "";
|
||||||
"car" = "";
|
"car" = "";
|
||||||
"default" = [ "" "" ];
|
"default" = ["" ""];
|
||||||
};
|
};
|
||||||
"scroll-step" = 1;
|
"scroll-step" = 1;
|
||||||
"on-click" = "pavucontrol";
|
"on-click" = "pavucontrol";
|
||||||
"ignored-sinks" = [ "Easy Effects Sink" ];
|
"ignored-sinks" = ["Easy Effects Sink"];
|
||||||
};
|
};
|
||||||
"wireplumber" = {
|
"wireplumber" = {
|
||||||
"on-click" = "pavucontrol";
|
"on-click" = "pavucontrol";
|
||||||
@ -174,7 +177,7 @@ in {
|
|||||||
"phone" = " ";
|
"phone" = " ";
|
||||||
"portable" = " ";
|
"portable" = " ";
|
||||||
"car" = " ";
|
"car" = " ";
|
||||||
"default" = [ " " " " " " ];
|
"default" = [" " " " " "];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"custom/cuaca" = {
|
"custom/cuaca" = {
|
||||||
@ -185,7 +188,8 @@ in {
|
|||||||
"exec" = "curl -s 'https://wttr.in/Tangerang?format=1'";
|
"exec" = "curl -s 'https://wttr.in/Tangerang?format=1'";
|
||||||
"exec-if" = "ping wttr.in -c1";
|
"exec-if" = "ping wttr.in -c1";
|
||||||
};
|
};
|
||||||
}];
|
}
|
||||||
|
];
|
||||||
|
|
||||||
style = ''
|
style = ''
|
||||||
* { border: none; border-radius: 0; }
|
* { border: none; border-radius: 0; }
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
# ../../nixos/nvidia.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
|
|
||||||
# ../../nixos/prime.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
|
|
||||||
|
|
||||||
../../nixos/audio.nix
|
../../nixos/audio.nix
|
||||||
../../nixos/auto-upgrade.nix
|
../../nixos/auto-upgrade.nix
|
||||||
../../nixos/bluetooth.nix
|
../../nixos/bluetooth.nix
|
||||||
@ -13,7 +14,8 @@
|
|||||||
../../nixos/systemd-boot.nix
|
../../nixos/systemd-boot.nix
|
||||||
../../nixos/timezone.nix
|
../../nixos/timezone.nix
|
||||||
../../nixos/tuigreet.nix
|
../../nixos/tuigreet.nix
|
||||||
../../nixos/tlp.nix
|
# ../../nixos/tlp.nix
|
||||||
|
../../nixos/upower.nix
|
||||||
../../nixos/users.nix
|
../../nixos/users.nix
|
||||||
../../nixos/utils.nix
|
../../nixos/utils.nix
|
||||||
../../nixos/virtualisation.nix
|
../../nixos/virtualisation.nix
|
||||||
@ -34,8 +36,8 @@
|
|||||||
|
|
||||||
programs.nm-applet.enable = true;
|
programs.nm-applet.enable = true;
|
||||||
networking.hosts = {
|
networking.hosts = {
|
||||||
"192.168.122.52" = [ "websiteku.lokal" ];
|
"192.168.122.52" = ["websiteku.lokal"];
|
||||||
"127.0.0.1" = [ "dimensi.lokal" "sisfokampus.ddev.site" ];
|
"127.0.0.1" = ["dimensi.lokal" "sisfokampus.ddev.site"];
|
||||||
# "10.230.4.15" = [ "www.yapeim.my" ];
|
# "10.230.4.15" = [ "www.yapeim.my" ];
|
||||||
# "43.239.205.20" = [ "dimensi.my" ];
|
# "43.239.205.20" = [ "dimensi.my" ];
|
||||||
# "103.106.6.124" = [ "dimensi.my" ];
|
# "103.106.6.124" = [ "dimensi.my" ];
|
||||||
|
|||||||
@ -1,11 +1,16 @@
|
|||||||
{ pkgs, config, inputs, ... }: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./variables.nix
|
./variables.nix
|
||||||
|
|
||||||
# Programs
|
# Programs
|
||||||
../../home/programs/kitty
|
../../home/programs/kitty
|
||||||
../../home/programs/nfv
|
../../home/programs/nvf
|
||||||
|
../../home/programs/helix
|
||||||
../../home/programs/shell
|
../../home/programs/shell
|
||||||
../../home/programs/pass
|
../../home/programs/pass
|
||||||
../../home/programs/fetch
|
../../home/programs/fetch
|
||||||
@ -23,18 +28,19 @@
|
|||||||
../../home/scripts # All scripts
|
../../home/scripts # All scripts
|
||||||
|
|
||||||
# System (Desktop environment like stuff)
|
# System (Desktop environment like stuff)
|
||||||
../../home/system/hyprland
|
# ../../home/system/hyprland
|
||||||
../../home/system/hypridle
|
# ../../home/system/hypridle
|
||||||
../../home/system/hyprlock
|
# ../../home/system/hyprlock
|
||||||
../../home/system/hyprpaper
|
# ../../home/system/hyprpaper
|
||||||
../../home/system/wofi
|
# ../../home/system/wofi
|
||||||
|
# ../../home/system/waybar
|
||||||
|
# ../../home/system/dunst
|
||||||
../../home/system/batsignal
|
../../home/system/batsignal
|
||||||
../../home/system/zathura
|
../../home/system/zathura
|
||||||
../../home/system/mime
|
../../home/system/mime
|
||||||
../../home/system/udiskie
|
../../home/system/udiskie
|
||||||
../../home/system/clipman
|
../../home/system/clipman
|
||||||
../../home/system/waybar
|
../../home/system/niri
|
||||||
../../home/system/dunst
|
|
||||||
|
|
||||||
# ./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
|
# ./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
|
||||||
];
|
];
|
||||||
@ -51,6 +57,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) ["intelephense" "spotify"];
|
||||||
home = {
|
home = {
|
||||||
inherit (config.var) username;
|
inherit (config.var) username;
|
||||||
homeDirectory = "/home/" + config.var.username;
|
homeDirectory = "/home/" + config.var.username;
|
||||||
@ -80,7 +88,7 @@
|
|||||||
};
|
};
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
propagatedBuildInputs = [ pip setuptools pyyaml mypy ];
|
propagatedBuildInputs = [pip setuptools pyyaml mypy];
|
||||||
})
|
})
|
||||||
]))
|
]))
|
||||||
jq
|
jq
|
||||||
@ -145,7 +153,7 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
# Import my profile picture, used by the hyprpanel dashboard
|
# Import my profile picture, used by the hyprpanel dashboard
|
||||||
file.".profile_picture.png" = { source = ./profile_picture.png; };
|
file.".profile_picture.png" = {source = ./profile_picture.png;};
|
||||||
|
|
||||||
# Don't touch this
|
# Don't touch this
|
||||||
stateVersion = "24.05";
|
stateVersion = "24.05";
|
||||||
|
|||||||
@ -1,14 +1,13 @@
|
|||||||
{ config, ... }: {
|
{config, ...}: {
|
||||||
imports = [ ../../nixos/variables-config.nix ];
|
imports = [../../nixos/variables-config.nix];
|
||||||
|
|
||||||
config.var = {
|
config.var = {
|
||||||
hostname = "dark";
|
hostname = "dark";
|
||||||
username = "dim";
|
username = "dim";
|
||||||
|
fullname = "Dhimas Widrayato";
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
hashedPassword =
|
hashedPassword = "$y$j9T$OqKMt8etf8DgTrZhN9jzy/$biMoM3P.WPZMpk0DAK.QhaHjGOL23pEgxlSvfu9LEPD";
|
||||||
"$y$j9T$OqKMt8etf8DgTrZhN9jzy/$biMoM3P.WPZMpk0DAK.QhaHjGOL23pEgxlSvfu9LEPD";
|
configDirectory = "/home/" + config.var.username + "/.config/nixos"; # The path of the nixos configuration directory
|
||||||
configDirectory = "/home/" + config.var.username
|
|
||||||
+ "/.config/nixos"; # The path of the nixos configuration directory
|
|
||||||
|
|
||||||
keyboardLayout = "us";
|
keyboardLayout = "us";
|
||||||
|
|
||||||
@ -29,8 +28,7 @@
|
|||||||
|
|
||||||
autoUpgrade = false;
|
autoUpgrade = false;
|
||||||
autoGarbageCollector = false;
|
autoGarbageCollector = false;
|
||||||
cpuTempSensor =
|
cpuTempSensor = "/sys/devices/platform/thinkpad_hwmon/hwmon/hwmon5/temp1_input";
|
||||||
"/sys/devices/platform/thinkpad_hwmon/hwmon/hwmon5/temp1_input";
|
|
||||||
|
|
||||||
theme = import ../../themes/var/nixy.nix;
|
theme = import ../../themes/var/nixy.nix;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,6 +1,13 @@
|
|||||||
{ config, inputs, ... }:
|
{ config, inputs, ... }:
|
||||||
let autoGarbageCollector = config.var.autoGarbageCollector;
|
let autoGarbageCollector = config.var.autoGarbageCollector;
|
||||||
in {
|
in {
|
||||||
|
security.sudo.extraRules = [{
|
||||||
|
users = [ config.var.username ];
|
||||||
|
commands = [{
|
||||||
|
command = "/run/current-system/sw/bin/nixos-rebuild";
|
||||||
|
options = [ "NOPASSWD" ];
|
||||||
|
}];
|
||||||
|
}];
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
allowBroken = true;
|
allowBroken = true;
|
||||||
|
|||||||
@ -1,17 +1,16 @@
|
|||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command =
|
command = "${pkgs.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --time --time-format '%I:%M %p | %a • %h | %F' --cmd niri-session";
|
||||||
"${pkgs.tuigreet}/bin/tuigreet --remember --asterisks --container-padding 2 --time --time-format '%I:%M %p | %a • %h | %F' --cmd Hyprland";
|
|
||||||
user = "greeter";
|
user = "greeter";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
security.pam.services.greetd.enableGnomeKeyring = true;
|
security.pam.services.greetd.enableGnomeKeyring = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ tuigreet ];
|
environment.systemPackages = with pkgs; [tuigreet];
|
||||||
|
|
||||||
# this is a life saver.
|
# this is a life saver.
|
||||||
# literally no documentation about this anywhere.
|
# literally no documentation about this anywhere.
|
||||||
@ -37,5 +36,4 @@
|
|||||||
# WatchdogDevice = "/dev/watchdog";
|
# WatchdogDevice = "/dev/watchdog";
|
||||||
DefaultTimeoutStopSec = "10s";
|
DefaultTimeoutStopSec = "10s";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
5
nixos/upower.nix
Normal file
5
nixos/upower.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
services.tlp.enable = false;
|
||||||
|
services.tuned.enable = true;
|
||||||
|
services.upower.enable = true;
|
||||||
|
}
|
||||||
@ -1,5 +1,9 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
username = config.var.username;
|
username = config.var.username;
|
||||||
hashedPassword = config.var.hashedPassword;
|
hashedPassword = config.var.hashedPassword;
|
||||||
userId = config.var.uid;
|
userId = config.var.uid;
|
||||||
@ -14,10 +18,10 @@ in {
|
|||||||
programs.xfconf.enable = true;
|
programs.xfconf.enable = true;
|
||||||
services.tumbler.enable = true;
|
services.tumbler.enable = true;
|
||||||
|
|
||||||
hardware.graphics = {
|
# hardware.graphics = {
|
||||||
package =
|
# package =
|
||||||
inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.mesa;
|
# inputs.hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.mesa;
|
||||||
};
|
# };
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
defaultUserShell = pkgs.zsh;
|
defaultUserShell = pkgs.zsh;
|
||||||
@ -25,8 +29,8 @@ in {
|
|||||||
hashedPassword = "${hashedPassword}";
|
hashedPassword = "${hashedPassword}";
|
||||||
uid = userId;
|
uid = userId;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "${username} account";
|
description = config.var.fullname;
|
||||||
extraGroups = [ "networkmanager" "wheel" "audio" "video" "input" ];
|
extraGroups = ["networkmanager" "wheel" "audio" "video" "input"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,29 @@
|
|||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
|
# xdg.portal = {
|
||||||
|
# enable = true;
|
||||||
|
# config.common.default = "*";
|
||||||
|
# wlr.enable = true;
|
||||||
|
# xdgOpenUsePortal = true;
|
||||||
|
# extraPortals = [ pkgs.xdg-desktop-portal pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
# };
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config.common.default = "*";
|
|
||||||
wlr.enable = true;
|
|
||||||
xdgOpenUsePortal = true;
|
xdgOpenUsePortal = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal pkgs.xdg-desktop-portal-gtk ];
|
wlr.enable = true;
|
||||||
|
config = {
|
||||||
|
common = {
|
||||||
|
default = [
|
||||||
|
"gtk"
|
||||||
|
"gnome"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
niri = {
|
||||||
|
default = [
|
||||||
|
"gtk"
|
||||||
|
"gnome"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-wlr pkgs.xdg-desktop-portal-gtk];
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user