mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-11 04:30:41 +03:00
123
This commit is contained in:
Executable
+6
@@ -0,0 +1,6 @@
|
||||
{ ... }@flakeContext:
|
||||
{
|
||||
homeConfigurations = {
|
||||
default = import ./home.nix flakeContext;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(./. + "/${xlib.device.type}.nix")
|
||||
];
|
||||
home = {
|
||||
username = xlib.device.username;
|
||||
stateVersion = lib.mkDefault "25.05";
|
||||
homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
||||
enableNixpkgsReleaseCheck = false;
|
||||
};
|
||||
};
|
||||
rootModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(./. + "/${xlib.device.type}.nix")
|
||||
];
|
||||
home = {
|
||||
username = "root";
|
||||
stateVersion = lib.mkDefault "25.05";
|
||||
homeDirectory = lib.mkDefault "/${config.home.username}";
|
||||
enableNixpkgsReleaseCheck = false;
|
||||
};
|
||||
};
|
||||
nixosModule =
|
||||
{ config, ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users."${config.xlib.device.username}" = homeModule;
|
||||
users.root = rootModule;
|
||||
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||
};
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
rootModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs = {
|
||||
btop.enable = true;
|
||||
broot.enable = true;
|
||||
bottom.enable = true;
|
||||
fastfetch.enable = true;
|
||||
};
|
||||
}
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
dconf = {
|
||||
settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///system" ];
|
||||
uris = [ "qemu:///system" ];
|
||||
};
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = with pkgs.gnomeExtensions; [
|
||||
dash-to-panel.extensionUuid
|
||||
arcmenu.extensionUuid
|
||||
vitals.extensionUuid
|
||||
appindicator.extensionUuid
|
||||
];
|
||||
disabled-extensions = [ ];
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-light";
|
||||
enable-hot-corners = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
}
|
||||
Executable
+89
@@ -0,0 +1,89 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
last-stable = import inputs.nixpkgs-last-unstable { system = "x86_64-linux"; };
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
mangohud.enable = true;
|
||||
keepassxc.enable = true;
|
||||
zed-editor = {
|
||||
enable = false;
|
||||
extensions = [
|
||||
"nix"
|
||||
];
|
||||
userSettings = {
|
||||
"telemetry" = {
|
||||
"diagnostics" = false;
|
||||
"metrics" = false;
|
||||
};
|
||||
"ui_font_size" = 20;
|
||||
"buffer_font_size" = 26;
|
||||
"theme" = {
|
||||
"mode" = "system";
|
||||
"light" = "Ayu Light";
|
||||
"dark" = "Ayu Dark";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
services = {
|
||||
kdeconnect.enable = true;
|
||||
easyeffects.enable = true;
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# Surfing
|
||||
# (brave.override {
|
||||
# commandLineArgs = [
|
||||
# "--password-store=basic" # on purpose to make it break "--password-store=gnome-libsecret"
|
||||
# ];
|
||||
# })
|
||||
brave
|
||||
v2rayn
|
||||
|
||||
# Workflow
|
||||
#cloudflared
|
||||
amdgpu_top
|
||||
vscodium
|
||||
ayugram-desktop
|
||||
vesktop
|
||||
gramps
|
||||
kdePackages.filelight
|
||||
libreoffice-qt6
|
||||
localsend
|
||||
lollypop
|
||||
obsidian
|
||||
pdfarranger
|
||||
stretchly
|
||||
transmission_4-gtk
|
||||
vlc
|
||||
normcap
|
||||
zerotierone
|
||||
#nextcloud-client
|
||||
|
||||
# (handbrake.overrideAttrs (old: {
|
||||
# configureFlags = old.configureFlags ++ [ "--enable-vce" ];
|
||||
# buildInputs = old.buildInputs ++ [
|
||||
# pkgs.amf
|
||||
# pkgs.ffmpeg-full
|
||||
# ];
|
||||
# }))
|
||||
|
||||
# Games
|
||||
ludusavi
|
||||
prismlauncher
|
||||
lutris
|
||||
|
||||
# AI
|
||||
lmstudio
|
||||
|
||||
# Libs
|
||||
#libsecret
|
||||
];
|
||||
};
|
||||
}
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs = {
|
||||
kate = {
|
||||
enable = true;
|
||||
editor = {
|
||||
brackets = {
|
||||
automaticallyAddClosing = true;
|
||||
highlightMatching = true;
|
||||
};
|
||||
font = {
|
||||
family = "Hack";
|
||||
pointSize = 14;
|
||||
};
|
||||
};
|
||||
};
|
||||
plasma = {
|
||||
enable = true;
|
||||
overrideConfig = false;
|
||||
configFile = {
|
||||
dolphinrc = {
|
||||
"General" = {
|
||||
"RememberOpenedTabs" = true;
|
||||
};
|
||||
"DetailsMode" = {
|
||||
"ExpandableFolders" = false;
|
||||
"PreviewSize" = 32;
|
||||
"IconSize" = 32;
|
||||
};
|
||||
};
|
||||
"katerc" = {
|
||||
"KTextEditor View" = {
|
||||
"Scroll Bar MiniMap" = false;
|
||||
"Scroll Bar Preview" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
input = {
|
||||
# /proc/bus/input/devices
|
||||
mice = [
|
||||
{
|
||||
acceleration = -0.2;
|
||||
accelerationProfile = "none";
|
||||
enable = true;
|
||||
leftHanded = false;
|
||||
middleButtonEmulation = false;
|
||||
name = "Logitech USB Receiver Mouse";
|
||||
naturalScroll = false;
|
||||
productId = "c548";
|
||||
scrollSpeed = 1;
|
||||
vendorId = "046d";
|
||||
}
|
||||
];
|
||||
touchpads = [
|
||||
{
|
||||
accelerationProfile = "none";
|
||||
disableWhileTyping = true;
|
||||
enable = true;
|
||||
leftHanded = true;
|
||||
middleButtonEmulation = false;
|
||||
name = "ELAN1203:00 04F3:307A Touchpad";
|
||||
naturalScroll = true;
|
||||
pointerSpeed = 0;
|
||||
productId = "307a";
|
||||
rightClickMethod = "bottomRight";
|
||||
scrollMethod = "twoFingers";
|
||||
tapDragLock = false;
|
||||
tapToClick = true;
|
||||
twoFingerTap = "rightClick";
|
||||
vendorId = "04f3";
|
||||
}
|
||||
];
|
||||
keyboard = {
|
||||
switchingPolicy = "global";
|
||||
# options = [
|
||||
# "altshift"
|
||||
# ];
|
||||
layouts = [
|
||||
{
|
||||
layout = "us";
|
||||
}
|
||||
{
|
||||
layout = "ru";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
workspace = {
|
||||
#clickItemTo = "open"; # If you liked the click-to-open default from plasma 5
|
||||
lookAndFeel = "com.github.vinceliuice.WhiteSur-alt";
|
||||
colorScheme = "WhiteSurAlt";
|
||||
theme = "WhiteSur-Alt";
|
||||
iconTheme = "WhiteSur";
|
||||
cursor = {
|
||||
theme = "Qogir";
|
||||
size = 24;
|
||||
};
|
||||
#wallpaper = "${config.home.homeDirectory}//Misc/Desktops/Wallpapers/Desktop/END_Circle_7.png";
|
||||
#windowDecorations = {
|
||||
# library = "org.kde.kwin.aurorae";
|
||||
# theme = "__aurorae__svg__WhiteSur";
|
||||
#};
|
||||
};
|
||||
kwin = {
|
||||
edgeBarrier = 0; # Disables the edge-barriers introduced in plasma 6.1
|
||||
cornerBarrier = false;
|
||||
#scripts.polonium.enable = true;
|
||||
nightLight = {
|
||||
enable = true;
|
||||
mode = "constant";
|
||||
temperature.night = 5800;
|
||||
};
|
||||
effects.shakeCursor.enable = false;
|
||||
virtualDesktops = {
|
||||
number = 2;
|
||||
rows = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./minimal.nix
|
||||
./modules/dconf.nix
|
||||
./modules/packages.nix
|
||||
./modules/plasma-manager.nix
|
||||
];
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
configFile = {
|
||||
"beets" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/beets/linux";
|
||||
target = "beets";
|
||||
};
|
||||
"ludusavi" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/ludusavi/cfg";
|
||||
target = "ludusavi";
|
||||
};
|
||||
"solaar" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/solaar";
|
||||
target = "solaar";
|
||||
};
|
||||
"easyeffects" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/easyeffects";
|
||||
target = "easyeffects";
|
||||
};
|
||||
"keepassxc" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/KeePassXC";
|
||||
target = "keepassxc";
|
||||
};
|
||||
};
|
||||
dataFile = {
|
||||
"PrismLauncher" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.vetymae-drive}/Games/PrismLauncher";
|
||||
target = "PrismLauncher";
|
||||
};
|
||||
"v2rayN" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/v2rayN";
|
||||
target = "v2rayN";
|
||||
};
|
||||
};
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = "${config.xdg.dataHome}/desktop";
|
||||
documents = null;
|
||||
download = "${config.home.homeDirectory}/Downloads";
|
||||
music = "${config.home.homeDirectory}/Music";
|
||||
pictures = "${config.home.homeDirectory}/Pictures";
|
||||
publicShare = "${config.home.homeDirectory}/Misc/Public";
|
||||
templates = null;
|
||||
videos = "${config.home.homeDirectory}/Pictures/Videos";
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
file = {
|
||||
"ssh" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.user-storage}/ssh/${config.home.username}";
|
||||
target = ".ssh";
|
||||
};
|
||||
"External" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.therima-drive}";
|
||||
target = "External";
|
||||
};
|
||||
"LM Studio" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${xlib.dirs.vetymae-drive}/AI/LM Studio";
|
||||
target = ".lmstudio";
|
||||
};
|
||||
};
|
||||
pointerCursor = {
|
||||
enable = true;
|
||||
x11.enable = true;
|
||||
gtk.enable = true;
|
||||
size = 24;
|
||||
name = "Qogir";
|
||||
package = pkgs.qogir-icon-theme;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Paths
|
||||
beetsPath = "${xlib.dirs.storage}/beets/linux";
|
||||
sshPath = "${xlib.dirs.storage}/ssh/${xlib.device.hostname}";
|
||||
musicPath = "${config.home.homeDirectory}/External/Music";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./minimal.nix
|
||||
];
|
||||
xdg = {
|
||||
configFile = {
|
||||
"beets" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
|
||||
target = "beets";
|
||||
};
|
||||
};
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = null;
|
||||
documents = null;
|
||||
download = null;
|
||||
music = null;
|
||||
pictures = null;
|
||||
publicShare = null;
|
||||
templates = null;
|
||||
videos = null;
|
||||
};
|
||||
};
|
||||
home = {
|
||||
file = {
|
||||
".ssh" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink sshPath;
|
||||
target = ".ssh";
|
||||
};
|
||||
"Music" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink musicPath;
|
||||
target = "${config.home.homeDirectory}/Music";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./minimal.nix
|
||||
];
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = null;
|
||||
documents = null;
|
||||
download = null;
|
||||
music = null;
|
||||
pictures = null;
|
||||
publicShare = null;
|
||||
templates = null;
|
||||
videos = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./gramps.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
grampsPath = "${xlib.dirs.wsl-storage}/gramps";
|
||||
in
|
||||
{
|
||||
xdg = {
|
||||
configFile = {
|
||||
"grampsConfig" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink grampsPath;
|
||||
target = "gramps";
|
||||
};
|
||||
};
|
||||
dataFile = {
|
||||
"grampsData" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink grampsPath;
|
||||
target = "gramps";
|
||||
};
|
||||
};
|
||||
};
|
||||
home.packages = [
|
||||
pkgs.gramps
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
xlib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
# Paths
|
||||
beetsPath = "${xlib.dirs.wsl-storage}/beets/linux";
|
||||
externalPath = "${xlib.dirs.wsl-home}";
|
||||
musicPath = "${config.home.homeDirectory}/External/Music";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./wsl-apps
|
||||
./minimal.nix
|
||||
];
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
configFile = {
|
||||
"beets" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink beetsPath;
|
||||
target = "beets";
|
||||
};
|
||||
};
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = null;
|
||||
documents = null;
|
||||
download = null;
|
||||
music = null;
|
||||
pictures = null;
|
||||
publicShare = null;
|
||||
templates = null;
|
||||
videos = null;
|
||||
};
|
||||
};
|
||||
home = {
|
||||
file = {
|
||||
"External" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink externalPath;
|
||||
target = "External";
|
||||
};
|
||||
"Music" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink musicPath;
|
||||
target = "${config.home.homeDirectory}/Music";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user