update
This commit is contained in:
parent
e9c51a6869
commit
23172262c8
@ -1,12 +1,12 @@
|
||||
# NixOS configurations file.
|
||||
{config, pkgs, lib,...}: {
|
||||
{ config, pkgs, lib, ... }: {
|
||||
system.stateVersion = "23.05";
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
|
||||
# User custom configurations.
|
||||
./global
|
||||
# User custom configurations.
|
||||
./global
|
||||
];
|
||||
|
||||
system.autoUpgrade = {
|
||||
|
@ -74,11 +74,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1687829761,
|
||||
"narHash": "sha256-QRe1Y8SS3M4GeC58F/6ajz6V0ZLUVWX3ZAMgov2N3/g=",
|
||||
"lastModified": 1688389917,
|
||||
"narHash": "sha256-RKiK1QeommEsjQ8fLgxt4831x9O6n2gD7wAhVZTrr8M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "9790f3242da2152d5aa1976e3e4b8b414f4dd206",
|
||||
"rev": "aed4b19d312525ae7ca9bceb4e1efe3357d0e2eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
133
flake.nix
133
flake.nix
@ -1,77 +1,78 @@
|
||||
{
|
||||
description = "NixOS configuration for GPD Win Max";
|
||||
description = "NixOS configuration for GPD Win Max";
|
||||
|
||||
nixConfig = rec {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
trusted-substituters = [
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store" # 中科大
|
||||
"https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store" # 清华
|
||||
"https://mirrors.bfsu.edu.cn/nix-channels/store" # 北外
|
||||
"https://mirror.sjtu.edu.cn/nix-channels/store" # 交大
|
||||
"https://nixos-cn.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
];
|
||||
substituters = trusted-substituters;
|
||||
nixConfig = rec {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
trusted-substituters = [
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store" # 中科大
|
||||
"https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store" # 清华
|
||||
"https://mirrors.bfsu.edu.cn/nix-channels/store" # 北外
|
||||
"https://mirror.sjtu.edu.cn/nix-channels/store" # 交大
|
||||
"https://nixos-cn.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
];
|
||||
substituters = trusted-substituters;
|
||||
|
||||
trusted-users = [
|
||||
"user"
|
||||
"root"
|
||||
"@wheel"
|
||||
];
|
||||
trusted-users = [
|
||||
"user"
|
||||
"root"
|
||||
"@wheel"
|
||||
];
|
||||
};
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-23.05";
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-23.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "nixpkgs/nixos-23.05";
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-23.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixos-cn = {
|
||||
url = "github:nixos-cn/flakes";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixos-cn = {
|
||||
url = "github:nixos-cn/flakes";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {self, nixpkgs, home-manager, nixos-cn, impermanence, ...}: {
|
||||
nixosConfigurations.gpd = nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
outputs = { self, nixpkgs, home-manager, nixos-cn, impermanence, ... }: {
|
||||
nixosConfigurations.gpd = nixpkgs.lib.nixosSystem rec {
|
||||
system = "x86_64-linux";
|
||||
|
||||
specialArgs = {
|
||||
pkgs = import nixpkgs {
|
||||
system = system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
(self: super: {
|
||||
waybar = super.waybar.overrideAttrs (oldAttrs: {
|
||||
# enable hyprland support
|
||||
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||
});
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
cn-pkgs = import nixos-cn {
|
||||
system = system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
impermanence.nixosModules.impermanence
|
||||
nixos-cn.nixosModules.nixos-cn-registries
|
||||
nixos-cn.nixosModules.nixos-cn
|
||||
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users = import ./home;
|
||||
}
|
||||
];
|
||||
specialArgs = {
|
||||
pkgs = import nixpkgs {
|
||||
system = system;
|
||||
config.allowUnfree = true;
|
||||
overlays = [
|
||||
(self: super: {
|
||||
waybar = super.waybar.overrideAttrs (oldAttrs: {
|
||||
# enable hyprland support
|
||||
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||
});
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
cn-pkgs = import nixos-cn {
|
||||
system = system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
};
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
impermanence.nixosModules.impermanence
|
||||
nixos-cn.nixosModules.nixos-cn-registries
|
||||
nixos-cn.nixosModules.nixos-cn
|
||||
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users = import ./home;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
imports = [
|
||||
./system-configuration.nix
|
||||
./software-configuration.nix
|
||||
./user-configuration.nix
|
||||
./font-configuration.nix
|
||||
./stateless-configuration.nix
|
||||
];
|
||||
imports = [
|
||||
./system-configuration.nix
|
||||
./software-configuration.nix
|
||||
./user-configuration.nix
|
||||
./font-configuration.nix
|
||||
./stateless-configuration.nix
|
||||
];
|
||||
}
|
@ -1,39 +1,39 @@
|
||||
{pkgs, ...}: {
|
||||
fonts= {
|
||||
fontDir.enable = true;
|
||||
{ pkgs, ... }: {
|
||||
fonts = {
|
||||
fontDir.enable = true;
|
||||
|
||||
fonts = with pkgs;[
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
source-han-sans
|
||||
source-han-serif
|
||||
source-han-mono
|
||||
source-code-pro
|
||||
font-awesome_5
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })
|
||||
];
|
||||
fonts = with pkgs;[
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
source-han-sans
|
||||
source-han-serif
|
||||
source-han-mono
|
||||
source-code-pro
|
||||
font-awesome_5
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })
|
||||
];
|
||||
|
||||
fontconfig.cache32Bit = true;
|
||||
fontconfig.cache32Bit = true;
|
||||
|
||||
fontconfig.defaultFonts = {
|
||||
serif = [
|
||||
"Source Han Serif SC"
|
||||
];
|
||||
fontconfig.defaultFonts = {
|
||||
serif = [
|
||||
"Source Han Serif SC"
|
||||
];
|
||||
|
||||
sansSerif = [
|
||||
"Source Han Sans SC"
|
||||
];
|
||||
sansSerif = [
|
||||
"Source Han Sans SC"
|
||||
];
|
||||
|
||||
monospace = [
|
||||
"Fira Code"
|
||||
"Source Han Mono SC"
|
||||
];
|
||||
};
|
||||
monospace = [
|
||||
"Fira Code"
|
||||
"Source Han Mono SC"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@ -1,116 +1,116 @@
|
||||
{pkgs, ...}: {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
#wlr.enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
# Enable automatic login for the user.
|
||||
services = {
|
||||
# flatpak dev.deedles.Trayscale
|
||||
# sudo tailscale up --operator=$USER
|
||||
# use https://hs.wetofu.me
|
||||
tailscale.enable = true;
|
||||
blueman.enable = true;
|
||||
logrotate.checkConfig = false;
|
||||
flatpak.enable = true;
|
||||
|
||||
ntp = {
|
||||
enable = true;
|
||||
servers = [
|
||||
"ntp.ntsc.ac.cn" # China
|
||||
];
|
||||
};
|
||||
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
user = "user";
|
||||
command = "${pkgs.greetd.greetd}/bin/agreety --cmd Hyprland";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
|
||||
xserver = {
|
||||
layout = "cn";
|
||||
xkbVariant = "";
|
||||
libinput = {
|
||||
mouse = {
|
||||
accelProfile = "flat";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprpaper
|
||||
hyprland-protocols
|
||||
hyprland-share-picker
|
||||
{ pkgs, ... }: {
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
#wlr.enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
enable = true;
|
||||
hidpi = true;
|
||||
};
|
||||
};
|
||||
# Enable automatic login for the user.
|
||||
services = {
|
||||
# flatpak dev.deedles.Trayscale
|
||||
# sudo tailscale up --operator=$USER
|
||||
# use https://hs.wetofu.me
|
||||
tailscale.enable = true;
|
||||
blueman.enable = true;
|
||||
logrotate.checkConfig = false;
|
||||
flatpak.enable = true;
|
||||
|
||||
proxychains = {
|
||||
enable = true;
|
||||
quietMode = true;
|
||||
proxies = {
|
||||
default = {
|
||||
type = "socks5";
|
||||
port = 1089;
|
||||
host = "127.0.0.1";
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
git.enable = true;
|
||||
zsh.enable = true;
|
||||
light.enable = true;
|
||||
dconf.enable = true;
|
||||
ntp = {
|
||||
enable = true;
|
||||
servers = [
|
||||
"ntp.ntsc.ac.cn" # China
|
||||
];
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
podman.enable = true;
|
||||
oci-containers.backend = "podman";
|
||||
oci-containers.containers = {
|
||||
wsproxy = {
|
||||
login.username = "senseab";
|
||||
login.registry = "ghcr.io";
|
||||
login.passwordFile = "/var/lib/secrets/podman/ghcr.io"; # should create it manually.
|
||||
image = "ghcr.io/senseab/wsproxy:master";
|
||||
autoStart = true;
|
||||
|
||||
environment = {
|
||||
CONFIG_NO_TLS_VERIFY = "true";
|
||||
CONFIG_ADDR = "wss://dev.wetofu.me/path";
|
||||
WSPROXY_MODE = "client";
|
||||
};
|
||||
|
||||
ports = [
|
||||
"127.0.0.1:1089:1089"
|
||||
];
|
||||
};
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
user = "user";
|
||||
command = "${pkgs.greetd.greetd}/bin/agreety --cmd Hyprland";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
|
||||
xserver = {
|
||||
layout = "cn";
|
||||
xkbVariant = "";
|
||||
libinput = {
|
||||
mouse = {
|
||||
accelProfile = "flat";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprpaper
|
||||
hyprland-protocols
|
||||
hyprland-share-picker
|
||||
];
|
||||
|
||||
programs = {
|
||||
hyprland = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
enable = true;
|
||||
hidpi = true;
|
||||
};
|
||||
};
|
||||
|
||||
proxychains = {
|
||||
enable = true;
|
||||
quietMode = true;
|
||||
proxies = {
|
||||
default = {
|
||||
type = "socks5";
|
||||
port = 1089;
|
||||
host = "127.0.0.1";
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
git.enable = true;
|
||||
zsh.enable = true;
|
||||
light.enable = true;
|
||||
dconf.enable = true;
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
podman.enable = true;
|
||||
oci-containers.backend = "podman";
|
||||
oci-containers.containers = {
|
||||
wsproxy = {
|
||||
login.username = "senseab";
|
||||
login.registry = "ghcr.io";
|
||||
login.passwordFile = "/var/lib/secrets/podman/ghcr.io"; # should create it manually.
|
||||
image = "ghcr.io/senseab/wsproxy:master";
|
||||
autoStart = true;
|
||||
|
||||
environment = {
|
||||
CONFIG_NO_TLS_VERIFY = "true";
|
||||
CONFIG_ADDR = "wss://dev.wetofu.me/path";
|
||||
WSPROXY_MODE = "client";
|
||||
};
|
||||
|
||||
ports = [
|
||||
"127.0.0.1:1089:1089"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,38 +1,38 @@
|
||||
{
|
||||
# /nix/persistent 是你实际保存文件的地方
|
||||
environment.persistence."/nix/persistent" = {
|
||||
# 不让这些映射的 mount 出现在文件管理器的侧边栏中
|
||||
hideMounts = true;
|
||||
# /nix/persistent 是你实际保存文件的地方
|
||||
environment.persistence."/nix/persistent" = {
|
||||
# 不让这些映射的 mount 出现在文件管理器的侧边栏中
|
||||
hideMounts = true;
|
||||
|
||||
# 你要映射的文件夹
|
||||
directories = [
|
||||
"/etc/NetworkManager/system-connections"
|
||||
"/root"
|
||||
"/var"
|
||||
];
|
||||
# 你要映射的文件夹
|
||||
directories = [
|
||||
"/etc/NetworkManager/system-connections"
|
||||
"/root"
|
||||
"/var"
|
||||
];
|
||||
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
];
|
||||
files = [
|
||||
"/etc/machine-id"
|
||||
];
|
||||
};
|
||||
|
||||
environment.variables.NIX_REMOTE = "daemon";
|
||||
|
||||
systemd.services.nix-daemon = {
|
||||
environment = {
|
||||
# 指定临时文件的位置
|
||||
TMPDIR = "/var/cache/nix";
|
||||
};
|
||||
|
||||
environment.variables.NIX_REMOTE = "daemon";
|
||||
|
||||
systemd.services.nix-daemon = {
|
||||
environment = {
|
||||
# 指定临时文件的位置
|
||||
TMPDIR = "/var/cache/nix";
|
||||
};
|
||||
serviceConfig = {
|
||||
# 在 Nix Daemon 启动时自动创建 /var/cache/nix
|
||||
CacheDirectory = "nix";
|
||||
};
|
||||
serviceConfig = {
|
||||
# 在 Nix Daemon 启动时自动创建 /var/cache/nix
|
||||
CacheDirectory = "nix";
|
||||
};
|
||||
};
|
||||
|
||||
# Stateless rootfs
|
||||
fileSystems."/" = {
|
||||
device = "tmpfs";
|
||||
fsType = "tmpfs";
|
||||
options = [ "relatime" "mode=755" "nosuid" "nodev" ];
|
||||
};
|
||||
# Stateless rootfs
|
||||
fileSystems."/" = {
|
||||
device = "tmpfs";
|
||||
fsType = "tmpfs";
|
||||
options = [ "relatime" "mode=755" "nosuid" "nodev" ];
|
||||
};
|
||||
}
|
@ -1,54 +1,54 @@
|
||||
{
|
||||
sound.enable = true;
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Asia/Shanghai";
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
sound.enable = true;
|
||||
networking.networkmanager.enable = true;
|
||||
time.timeZone = "Asia/Shanghai";
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
|
||||
hardware = {
|
||||
opengl.enable = true;
|
||||
hardware = {
|
||||
opengl.enable = true;
|
||||
};
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n = {
|
||||
defaultLocale = "zh_CN.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "zh_CN.UTF-8";
|
||||
LC_IDENTIFICATION = "zh_CN.UTF-8";
|
||||
LC_MEASUREMENT = "zh_CN.UTF-8";
|
||||
LC_MONETARY = "zh_CN.UTF-8";
|
||||
LC_NAME = "zh_CN.UTF-8";
|
||||
LC_NUMERIC = "zh_CN.UTF-8";
|
||||
LC_PAPER = "zh_CN.UTF-8";
|
||||
LC_TELEPHONE = "zh_CN.UTF-8";
|
||||
LC_TIME = "zh_CN.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n = {
|
||||
defaultLocale = "zh_CN.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "zh_CN.UTF-8";
|
||||
LC_IDENTIFICATION = "zh_CN.UTF-8";
|
||||
LC_MEASUREMENT = "zh_CN.UTF-8";
|
||||
LC_MONETARY = "zh_CN.UTF-8";
|
||||
LC_NAME = "zh_CN.UTF-8";
|
||||
LC_NUMERIC = "zh_CN.UTF-8";
|
||||
LC_PAPER = "zh_CN.UTF-8";
|
||||
LC_TELEPHONE = "zh_CN.UTF-8";
|
||||
LC_TIME = "zh_CN.UTF-8";
|
||||
};
|
||||
};
|
||||
nix.settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
nix.settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = [
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store" # 中科大
|
||||
"https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store" # 清华
|
||||
"https://mirrors.bfsu.edu.cn/nix-channels/store" # 北外
|
||||
"https://mirror.sjtu.edu.cn/nix-channels/store" # 交大
|
||||
"https://nixos-cn.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
];
|
||||
|
||||
substituters = [
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store" # 中科大
|
||||
"https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store" # 清华
|
||||
"https://mirrors.bfsu.edu.cn/nix-channels/store" # 北外
|
||||
"https://mirror.sjtu.edu.cn/nix-channels/store" # 交大
|
||||
"https://nixos-cn.cachix.org"
|
||||
"https://cache.nixos.org/"
|
||||
];
|
||||
trusted-users = [
|
||||
"root"
|
||||
"@wheel"
|
||||
];
|
||||
};
|
||||
|
||||
trusted-users = [
|
||||
"root"
|
||||
"@wheel"
|
||||
];
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 1w";
|
||||
};
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 1w";
|
||||
};
|
||||
}
|
@ -1,20 +1,20 @@
|
||||
{pkgs, ...}: {
|
||||
users= {
|
||||
mutableUsers = false;
|
||||
users = {
|
||||
user = {
|
||||
isNormalUser = true;
|
||||
description = "Default user";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"input"
|
||||
"video"
|
||||
"kvm"
|
||||
];
|
||||
hashedPassword = ""; # Login directly
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
};
|
||||
{ pkgs, ... }: {
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
users = {
|
||||
user = {
|
||||
isNormalUser = true;
|
||||
description = "Default user";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"input"
|
||||
"video"
|
||||
"kvm"
|
||||
];
|
||||
hashedPassword = ""; # Login directly
|
||||
shell = pkgs.zsh;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -4,83 +4,83 @@
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
|
||||
boot = {
|
||||
plymouth.enable = true;
|
||||
# Use xanmod kernel
|
||||
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
kernelParams = [ "quiet" ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
consoleLogLevel = 0;
|
||||
boot = {
|
||||
plymouth.enable = true;
|
||||
# Use xanmod kernel
|
||||
kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||
kernelParams = [ "quiet" ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
consoleLogLevel = 0;
|
||||
|
||||
kernel.sysctl = {
|
||||
# for ryujinx
|
||||
"vm.max_map_count" = 524288;
|
||||
};
|
||||
|
||||
initrd = {
|
||||
#verbose = false;
|
||||
availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"nvme"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
};
|
||||
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
||||
grub = {
|
||||
configurationLimit = 10;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
|
||||
mirroredBoots = [
|
||||
{
|
||||
devices = [ "nodev" ];
|
||||
path = "/boot";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
kernel.sysctl = {
|
||||
# for ryujinx
|
||||
"vm.max_map_count" = 524288;
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/8095-BE1B";
|
||||
fsType = "vfat";
|
||||
initrd = {
|
||||
#verbose = false;
|
||||
availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"nvme"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/d2fac87e-ce48-174a-a544-36606fd39ee0";
|
||||
fsType = "ext4";
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
|
||||
grub = {
|
||||
configurationLimit = 10;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
|
||||
mirroredBoots = [
|
||||
{
|
||||
devices = [ "nodev" ];
|
||||
path = "/boot";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/4125f3b3-7613-a04b-910c-87169a7a87b3";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/8095-BE1B";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/nvme0n1p2"; }
|
||||
];
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/d2fac87e-ce48-174a-a544-36606fd39ee0";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eth0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/4125f3b3-7613-a04b-910c-87169a7a87b3";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.bluetooth.enable = true;
|
||||
swapDevices = [
|
||||
{ device = "/dev/nvme0n1p2"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eth0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.bluetooth.enable = true;
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
{
|
||||
user = import ./user;
|
||||
user = import ./user;
|
||||
}
|
@ -1,122 +1,122 @@
|
||||
{
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 24;
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 24;
|
||||
|
||||
modules-left = [
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-center = [ "wlr/workspaces" ];
|
||||
modules-right = [
|
||||
"backlight"
|
||||
"wireplumber"
|
||||
# "cpu"
|
||||
# "memory"
|
||||
"battery"
|
||||
"network"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
modules-left = [
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-center = [ "wlr/workspaces" ];
|
||||
modules-right = [
|
||||
"backlight"
|
||||
"wireplumber"
|
||||
# "cpu"
|
||||
# "memory"
|
||||
"battery"
|
||||
"network"
|
||||
"tray"
|
||||
"clock"
|
||||
];
|
||||
|
||||
wireplumber = {
|
||||
tooltip = false;
|
||||
scroll-step = 5;
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = "{icon} --";
|
||||
on-click ="wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; # wpctl?
|
||||
format-icons = {
|
||||
default = ["" "" ""];
|
||||
};
|
||||
wireplumber = {
|
||||
tooltip = false;
|
||||
scroll-step = 5;
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = "{icon} --";
|
||||
on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; # wpctl?
|
||||
format-icons = {
|
||||
default = [ "" "" "" ];
|
||||
};
|
||||
};
|
||||
|
||||
"hyprland/window" = {
|
||||
format = "{}";
|
||||
separate-outputs = true;
|
||||
};
|
||||
"hyprland/window" = {
|
||||
format = "{}";
|
||||
separate-outputs = true;
|
||||
};
|
||||
|
||||
"wlr/workspaces" = {
|
||||
format = "{icon}";
|
||||
on-click = "activate";
|
||||
format-icons = {
|
||||
"1" = "";
|
||||
"2" = "";
|
||||
"3" = "";
|
||||
"4" = "";
|
||||
"5" = "";
|
||||
urgent = "";
|
||||
active = "";
|
||||
default = "";
|
||||
};
|
||||
sort-by-number = true;
|
||||
"wlr/workspaces" = {
|
||||
format = "{icon}";
|
||||
on-click = "activate";
|
||||
format-icons = {
|
||||
"1" = "";
|
||||
"2" = "";
|
||||
"3" = "";
|
||||
"4" = "";
|
||||
"5" = "";
|
||||
urgent = "";
|
||||
active = "";
|
||||
default = "";
|
||||
};
|
||||
sort-by-number = true;
|
||||
};
|
||||
|
||||
network = {
|
||||
tooltip = false;
|
||||
format-wifi = " {essid}";
|
||||
format-ethernet = "";
|
||||
};
|
||||
network = {
|
||||
tooltip = false;
|
||||
format-wifi = " {essid}";
|
||||
format-ethernet = "";
|
||||
};
|
||||
|
||||
backlight = {
|
||||
tooltip = false;
|
||||
format = " {}%";
|
||||
interval = 1;
|
||||
on-scroll-up = "light -A 5";
|
||||
on-scroll-down = "light -U 5";
|
||||
};
|
||||
backlight = {
|
||||
tooltip = false;
|
||||
format = " {}%";
|
||||
interval = 1;
|
||||
on-scroll-up = "light -A 5";
|
||||
on-scroll-down = "light -U 5";
|
||||
};
|
||||
|
||||
battery = {
|
||||
states = {
|
||||
good = 95;
|
||||
warning = 30;
|
||||
critical = 20;
|
||||
};
|
||||
format = "{icon}\t{capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-alt = "{time} {icon}";
|
||||
format-icons = ["" "" "" "" ""];
|
||||
battery = {
|
||||
states = {
|
||||
good = 95;
|
||||
warning = 30;
|
||||
critical = 20;
|
||||
};
|
||||
format = "{icon}\t{capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-alt = "{time} {icon}";
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
};
|
||||
|
||||
tray = {
|
||||
icon-size = 24;
|
||||
spacing = 10;
|
||||
};
|
||||
tray = {
|
||||
icon-size = 24;
|
||||
spacing = 10;
|
||||
};
|
||||
|
||||
clock = {
|
||||
format = " {:%H:%M}";
|
||||
tooltip-format = "<span size='9pt' font='monospace'>{calendar}</span>";
|
||||
calendar = {
|
||||
mode = "month";
|
||||
weeks-pos = "right";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
days = "<span color='#ecc6d9'><b>{}</b></span>";
|
||||
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
clock = {
|
||||
format = " {:%H:%M}";
|
||||
tooltip-format = "<span size='9pt' font='monospace'>{calendar}</span>";
|
||||
calendar = {
|
||||
mode = "month";
|
||||
weeks-pos = "right";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
days = "<span color='#ecc6d9'><b>{}</b></span>";
|
||||
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu = {
|
||||
interval = 15;
|
||||
format = " {}%";
|
||||
max-length = 10;
|
||||
};
|
||||
cpu = {
|
||||
interval = 15;
|
||||
format = " {}%";
|
||||
max-length = 10;
|
||||
};
|
||||
|
||||
memory = {
|
||||
interval = 30;
|
||||
format = " {}%";
|
||||
max-length = 10;
|
||||
};
|
||||
memory = {
|
||||
interval = 30;
|
||||
format = " {}%";
|
||||
max-length = 10;
|
||||
};
|
||||
|
||||
"custom/launcher" = {
|
||||
format = " ";
|
||||
on-click = "nwggrid";
|
||||
};
|
||||
"custom/launcher" = {
|
||||
format = " ";
|
||||
on-click = "nwggrid";
|
||||
};
|
||||
|
||||
"custom/power" = {
|
||||
format = " ";
|
||||
on-click = "nwgbar";
|
||||
};
|
||||
"custom/power" = {
|
||||
format = " ";
|
||||
on-click = "nwgbar";
|
||||
};
|
||||
}
|
||||
|
@ -1,27 +1,27 @@
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./home.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
./xdg.nix
|
||||
];
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./home.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
./xdg.nix
|
||||
];
|
||||
|
||||
systemd.user.services = {
|
||||
# TODO: Podman
|
||||
};
|
||||
|
||||
i18n.inputMethod.enabled = "fcitx5";
|
||||
i18n.inputMethod.fcitx5.addons = with pkgs; [
|
||||
fcitx5-configtool
|
||||
fcitx5-gtk
|
||||
fcitx5-chinese-addons
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.iconpack-obsidian; # icon theme
|
||||
name = "Obsidian";
|
||||
};
|
||||
systemd.user.services = {
|
||||
# TODO: Podman
|
||||
};
|
||||
|
||||
i18n.inputMethod.enabled = "fcitx5";
|
||||
i18n.inputMethod.fcitx5.addons = with pkgs; [
|
||||
fcitx5-configtool
|
||||
fcitx5-gtk
|
||||
fcitx5-chinese-addons
|
||||
];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.iconpack-obsidian; # icon theme
|
||||
name = "Obsidian";
|
||||
};
|
||||
};
|
||||
}
|
@ -1,90 +1,90 @@
|
||||
{pkgs, ...}: {
|
||||
home = {
|
||||
stateVersion = "23.05"; # Static
|
||||
username = "user";
|
||||
homeDirectory = "/home/user";
|
||||
{ pkgs, ... }: {
|
||||
home = {
|
||||
stateVersion = "23.05"; # Static
|
||||
username = "user";
|
||||
homeDirectory = "/home/user";
|
||||
|
||||
packages = with pkgs; [
|
||||
btop
|
||||
bat
|
||||
thefuck
|
||||
ranger
|
||||
icdiff
|
||||
#rofi
|
||||
#rofi-rbw
|
||||
#nwg-launchers
|
||||
nwg-bar
|
||||
nwg-drawer
|
||||
gnumake42
|
||||
wget
|
||||
axel
|
||||
grim
|
||||
slurp
|
||||
unzip
|
||||
p7zip
|
||||
#appimage-run
|
||||
cmatrix
|
||||
gnome.gnome-software
|
||||
];
|
||||
packages = with pkgs; [
|
||||
btop
|
||||
bat
|
||||
thefuck
|
||||
ranger
|
||||
icdiff
|
||||
#rofi
|
||||
#rofi-rbw
|
||||
#nwg-launchers
|
||||
nwg-bar
|
||||
nwg-drawer
|
||||
gnumake42
|
||||
wget
|
||||
axel
|
||||
grim
|
||||
slurp
|
||||
unzip
|
||||
p7zip
|
||||
#appimage-run
|
||||
cmatrix
|
||||
gnome.gnome-software
|
||||
];
|
||||
|
||||
sessionPath = [
|
||||
".local/bin"
|
||||
#"Applications"
|
||||
];
|
||||
sessionPath = [
|
||||
".local/bin"
|
||||
#"Applications"
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
TERM = "kitty";
|
||||
#GTK_IM_MODULE = "fcitx";
|
||||
#QT_IM_MODULE = "fcitx";
|
||||
#SDL_VIDEODRIVER = "wayland";
|
||||
#SDL_IM_MODULE = "fcitx";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
cao = "fuck";
|
||||
top = "btop";
|
||||
ls = "ls --color=auto";
|
||||
cat = "bat -p --paging=never -u";
|
||||
diff = "icdiff";
|
||||
};
|
||||
|
||||
file = {
|
||||
# hyprland
|
||||
".config/hypr/hyprland.conf".source = ./files/hyprland.conf;
|
||||
".config/hypr/hyprpaper.conf".source = ./files/hyprpaper.conf;
|
||||
|
||||
# ranger
|
||||
".config/ranger/rc.conf".source = ./files/ranger-rc.conf;
|
||||
|
||||
# nwg
|
||||
#".config/nwg-launchers".source = ./files/nwg-launchers;
|
||||
".config/nwg-drawer".source = ./files/nwg-drawer;
|
||||
".config/nwg-bar".source = ./files/nwg-bar;
|
||||
|
||||
# wallpapers
|
||||
".local/share/wallpapers".source = ./wallpapers;
|
||||
|
||||
# Use flatseal to change permissions.
|
||||
#".local/share/fonts".source = /run/current-system/sw/share/X11/fonts;
|
||||
|
||||
# Fix flatpak fonts
|
||||
".local/share/flatpak/overrides/global".text = ''
|
||||
[Context]
|
||||
sockets=wayland
|
||||
filesystems=/run/current-system/sw/share/X11/fonts:ro;/nix/store:ro;~/.icons;
|
||||
'';
|
||||
|
||||
# Electron global settings
|
||||
".config/electron-flags.conf".text = ''
|
||||
--enable-features=WaylandWindowDecorations
|
||||
--ozone-platform-hint=auto
|
||||
--enable-webrtc-pipewire-capturer
|
||||
'';
|
||||
|
||||
".config/electron13-flags.conf".text = ''
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
||||
'';
|
||||
};
|
||||
sessionVariables = {
|
||||
TERM = "kitty";
|
||||
#GTK_IM_MODULE = "fcitx";
|
||||
#QT_IM_MODULE = "fcitx";
|
||||
#SDL_VIDEODRIVER = "wayland";
|
||||
#SDL_IM_MODULE = "fcitx";
|
||||
};
|
||||
|
||||
shellAliases = {
|
||||
cao = "fuck";
|
||||
top = "btop";
|
||||
ls = "ls --color=auto";
|
||||
cat = "bat -p --paging=never -u";
|
||||
diff = "icdiff";
|
||||
};
|
||||
|
||||
file = {
|
||||
# hyprland
|
||||
".config/hypr/hyprland.conf".source = ./files/hyprland.conf;
|
||||
".config/hypr/hyprpaper.conf".source = ./files/hyprpaper.conf;
|
||||
|
||||
# ranger
|
||||
".config/ranger/rc.conf".source = ./files/ranger-rc.conf;
|
||||
|
||||
# nwg
|
||||
#".config/nwg-launchers".source = ./files/nwg-launchers;
|
||||
".config/nwg-drawer".source = ./files/nwg-drawer;
|
||||
".config/nwg-bar".source = ./files/nwg-bar;
|
||||
|
||||
# wallpapers
|
||||
".local/share/wallpapers".source = ./wallpapers;
|
||||
|
||||
# Use flatseal to change permissions.
|
||||
#".local/share/fonts".source = /run/current-system/sw/share/X11/fonts;
|
||||
|
||||
# Fix flatpak fonts
|
||||
".local/share/flatpak/overrides/global".text = ''
|
||||
[Context]
|
||||
sockets=wayland
|
||||
filesystems=/run/current-system/sw/share/X11/fonts:ro;/nix/store:ro;~/.icons;
|
||||
'';
|
||||
|
||||
# Electron global settings
|
||||
".config/electron-flags.conf".text = ''
|
||||
--enable-features=WaylandWindowDecorations
|
||||
--ozone-platform-hint=auto
|
||||
--enable-webrtc-pipewire-capturer
|
||||
'';
|
||||
|
||||
".config/electron13-flags.conf".text = ''
|
||||
--enable-features=UseOzonePlatform
|
||||
--ozone-platform=wayland
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
@ -1,82 +1,78 @@
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
{ pkgs, ... }: {
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "GPD Game User";
|
||||
userEmail = "user@gpd.local";
|
||||
};
|
||||
|
||||
vim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
enableVteIntegration = true;
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "sudo" "git" "golang" "thefuck" "kubectl" "emoji" "pip" "npm" "yarn" "vscode" ];
|
||||
theme = "agnoster";
|
||||
};
|
||||
};
|
||||
|
||||
waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
systemd.target = "default.target";
|
||||
# see https://github.com/theCode-Breaker/riverwm/blob/main/waybar/river/config-river
|
||||
# https://blog.cascade.moe/posts/hyprland-configure/
|
||||
settings = {
|
||||
mainBar = import ./config/waybar.nix;
|
||||
};
|
||||
|
||||
style = import ./config/waybar-style.nix;
|
||||
};
|
||||
|
||||
kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "Powerline";
|
||||
size = 12;
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
"ctrl+c" = "copy_or_interrupt";
|
||||
"ctrl+v" = "paste_from_clipboard";
|
||||
};
|
||||
|
||||
shellIntegration = {
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
settings = {
|
||||
background_opacity = "0.8";
|
||||
};
|
||||
};
|
||||
|
||||
rbw = {
|
||||
enable = true;
|
||||
settings = {
|
||||
base_url = "https://pass.sense-t.eu.org";
|
||||
email = "sense-t@sense-t.eu.org";
|
||||
lock_timeout = 300;
|
||||
pinentry = "gnome3";
|
||||
};
|
||||
};
|
||||
|
||||
wlogout = {
|
||||
enable = false;
|
||||
};
|
||||
|
||||
clipman = {
|
||||
enable = true;
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "GPD Game User";
|
||||
userEmail = "user@gpd.local";
|
||||
};
|
||||
|
||||
vim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
};
|
||||
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableSyntaxHighlighting = true;
|
||||
enableVteIntegration = true;
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "sudo" "git" "golang" "thefuck" "kubectl" "emoji" "pip" "npm" "yarn" "vscode" ];
|
||||
theme = "agnoster";
|
||||
};
|
||||
};
|
||||
|
||||
waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
systemd.target = "default.target";
|
||||
# see https://github.com/theCode-Breaker/riverwm/blob/main/waybar/river/config-river
|
||||
# https://blog.cascade.moe/posts/hyprland-configure/
|
||||
settings = {
|
||||
mainBar = import ./config/waybar.nix;
|
||||
};
|
||||
|
||||
style = import ./config/waybar-style.nix;
|
||||
};
|
||||
|
||||
kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "Powerline";
|
||||
size = 12;
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
"ctrl+c" = "copy_or_interrupt";
|
||||
"ctrl+v" = "paste_from_clipboard";
|
||||
};
|
||||
|
||||
shellIntegration = {
|
||||
enableZshIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
settings = {
|
||||
background_opacity = "0.8";
|
||||
};
|
||||
};
|
||||
|
||||
rbw = {
|
||||
enable = true;
|
||||
settings = {
|
||||
base_url = "https://pass.sense-t.eu.org";
|
||||
email = "sense-t@sense-t.eu.org";
|
||||
lock_timeout = 300;
|
||||
pinentry = "gnome3";
|
||||
};
|
||||
};
|
||||
|
||||
wlogout = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
}
|
@ -1,43 +1,45 @@
|
||||
{
|
||||
services = {
|
||||
dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
width = 300;
|
||||
height = 300;
|
||||
offset = "30x50";
|
||||
origin = "top-right";
|
||||
notification_limit = 10;
|
||||
progress_bar = true;
|
||||
transparency = 20;
|
||||
corner_radius = 8;
|
||||
};
|
||||
services = {
|
||||
clipman.enable = true;
|
||||
|
||||
urgency_low = {
|
||||
frame_color = "#3B7C87";
|
||||
foreground = "#3B7C87";
|
||||
background = "#191311";
|
||||
#background = "#2B313C"
|
||||
timeout = 4;
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
frame_color = "#5B8234";
|
||||
foreground = "#5B8234";
|
||||
background = "#191311";
|
||||
#background = "#2B313C"
|
||||
timeout = 6;
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
frame_color = "#B7472A";
|
||||
foreground = "#B7472A";
|
||||
background = "#191311";
|
||||
#background = "#2B313C"
|
||||
timeout = 8;
|
||||
};
|
||||
};
|
||||
dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
width = 300;
|
||||
height = 300;
|
||||
offset = "30x50";
|
||||
origin = "top-right";
|
||||
notification_limit = 10;
|
||||
progress_bar = true;
|
||||
transparency = 20;
|
||||
corner_radius = 8;
|
||||
};
|
||||
|
||||
urgency_low = {
|
||||
frame_color = "#3B7C87";
|
||||
foreground = "#3B7C87";
|
||||
background = "#191311";
|
||||
#background = "#2B313C"
|
||||
timeout = 4;
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
frame_color = "#5B8234";
|
||||
foreground = "#5B8234";
|
||||
background = "#191311";
|
||||
#background = "#2B313C"
|
||||
timeout = 6;
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
frame_color = "#B7472A";
|
||||
foreground = "#B7472A";
|
||||
background = "#191311";
|
||||
#background = "#2B313C"
|
||||
timeout = 8;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -1,31 +1,32 @@
|
||||
let
|
||||
defaultBrowser = "io.gitlab.librewolf-community.desktop";
|
||||
defaultFileManager = "ranger.desktop";
|
||||
defaultTerminal = "kitty.desktop";
|
||||
in {
|
||||
xdg = {
|
||||
enable = true;
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
# Default web browser.
|
||||
"text/html" = defaultBrowser;
|
||||
"x-scheme-handler/http" = defaultBrowser;
|
||||
"x-scheme-handler/https" = defaultBrowser;
|
||||
"x-scheme-handler/about" = defaultBrowser;
|
||||
"x-scheme-handler/unknown" = defaultBrowser;
|
||||
defaultBrowser = "io.gitlab.librewolf-community.desktop";
|
||||
defaultFileManager = "ranger.desktop";
|
||||
defaultTerminal = "kitty.desktop";
|
||||
in
|
||||
{
|
||||
xdg = {
|
||||
enable = true;
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
# Default web browser.
|
||||
"text/html" = defaultBrowser;
|
||||
"x-scheme-handler/http" = defaultBrowser;
|
||||
"x-scheme-handler/https" = defaultBrowser;
|
||||
"x-scheme-handler/about" = defaultBrowser;
|
||||
"x-scheme-handler/unknown" = defaultBrowser;
|
||||
|
||||
# Default file manager.
|
||||
"inode/directory" = defaultFileManager;
|
||||
# Default file manager.
|
||||
"inode/directory" = defaultFileManager;
|
||||
|
||||
# Image
|
||||
"image/*" = defaultTerminal;
|
||||
# Image
|
||||
"image/*" = defaultTerminal;
|
||||
|
||||
# Default terminal
|
||||
"application/x-sh" = defaultTerminal;
|
||||
"application/x-shellscript" = defaultTerminal;
|
||||
"x-scheme-handler/ssh" = defaultTerminal;
|
||||
};
|
||||
};
|
||||
# Default terminal
|
||||
"application/x-sh" = defaultTerminal;
|
||||
"application/x-shellscript" = defaultTerminal;
|
||||
"x-scheme-handler/ssh" = defaultTerminal;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user