mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-16 06:51:50 +03:00
Init
This commit is contained in:
Executable
+107
@@ -0,0 +1,107 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ] ++ (builtins.attrValues inputs.self.homeModules);
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
configFile = {
|
||||
"ludusavi" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/ludusavi/cfg";
|
||||
target = "ludusavi";
|
||||
};
|
||||
"nekoray" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/Nekoray/${config.home.username}";
|
||||
target = "nekoray";
|
||||
};
|
||||
"solaar" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/solaar";
|
||||
target = "solaar";
|
||||
};
|
||||
"easyeffects" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/easyeffects";
|
||||
target = "easyeffects";
|
||||
};
|
||||
"keepassxc" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/KeePassXC";
|
||||
target = "keepassxc";
|
||||
};
|
||||
};
|
||||
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 = {
|
||||
username = "${inputs.zeroq.devices.admin}";
|
||||
file = {
|
||||
"ssh" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/SSH/${config.home.username}";
|
||||
target = ".ssh";
|
||||
};
|
||||
"External" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.therima-drive}";
|
||||
target = "External";
|
||||
};
|
||||
"Music" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Music";
|
||||
target = "Music";
|
||||
};
|
||||
"Pictures" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Pictures";
|
||||
target = "Pictures";
|
||||
};
|
||||
"Deploy" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Deploy";
|
||||
target = "Deploy";
|
||||
};
|
||||
"Misc" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Misc";
|
||||
target = "Misc";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
nixosModule =
|
||||
{ config, ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${inputs.zeroq.devices.admin} = homeModule;
|
||||
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||
extraSpecialArgs = {
|
||||
#inherit inputs;
|
||||
inherit (config.networking) hostName;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,38 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; };
|
||||
last-stable = import inputs.nixpkgs-last-unstable { system = "x86_64-linux"; };
|
||||
in
|
||||
{
|
||||
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; [
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home = {
|
||||
stateVersion = lib.mkDefault "25.05";
|
||||
homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; };
|
||||
last-stable = import inputs.nixpkgs-last-unstable { system = "x86_64-linux"; };
|
||||
stable = import inputs.nixpkgs-stable { system = "x86_64-linux"; };
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
fastfetch.enable = true;
|
||||
btop.enable = true;
|
||||
mangohud.enable = true;
|
||||
keepassxc.enable = true;
|
||||
zed-editor = {
|
||||
enable = true;
|
||||
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"
|
||||
];
|
||||
})
|
||||
nekoray
|
||||
|
||||
# Workflow
|
||||
_64gram
|
||||
discord
|
||||
gramps
|
||||
kdePackages.filelight
|
||||
libreoffice-qt6
|
||||
localsend
|
||||
lollypop
|
||||
obsidian
|
||||
pdfarranger
|
||||
stretchly
|
||||
transmission_4-gtk
|
||||
vlc
|
||||
#zerotierone
|
||||
#tg
|
||||
#reaper
|
||||
|
||||
# Games
|
||||
ludusavi
|
||||
prismlauncher
|
||||
lutris
|
||||
|
||||
# Libs
|
||||
libsecret
|
||||
|
||||
# Display
|
||||
#edid-decode
|
||||
#displaycal
|
||||
#argyllcms
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = with inputs; [
|
||||
self.homeModules.default
|
||||
self.homeModules.plasma-manager
|
||||
];
|
||||
home = {
|
||||
username = "root";
|
||||
homeDirectory = "/${config.home.username}";
|
||||
};
|
||||
};
|
||||
nixosModule =
|
||||
{ ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.root = homeModule;
|
||||
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||
};
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
Executable
+59
@@ -0,0 +1,59 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ inputs.self.homeModules.default ];
|
||||
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;
|
||||
};
|
||||
};
|
||||
home = {
|
||||
file = {
|
||||
"ssh" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.storage}/SSH/${inputs.zeroq.devices.server.hostname}";
|
||||
target = ".ssh";
|
||||
};
|
||||
};
|
||||
username = "${inputs.zeroq.devices.admin}";
|
||||
};
|
||||
|
||||
};
|
||||
nixosModule =
|
||||
{ ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${inputs.zeroq.devices.admin} = homeModule;
|
||||
};
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user