From 74e4e7d6f85e93e188c9e6dac8747a65056aa4c4 Mon Sep 17 00:00:00 2001
From: krizej <60076189+krizej@users.noreply.github.com>
Date: Thu, 4 Jul 2024 01:14:24 +0200
Subject: [PATCH] changes
---
.idea/.gitignore | 3 +
.idea/codeStyles/Project.xml | 10 +
.idea/codeStyles/codeStyleConfig.xml | 5 +
.idea/inspectionProfiles/Project_Default.xml | 36 ++
.../inspectionProfiles/profiles_settings.xml | 6 +
.idea/misc.xml | 7 +
.idea/modules.xml | 8 +
.idea/nix.iml | 8 +
.idea/vcs.xml | 6 +
configuration.nix | 209 +---------
flake.lock | 118 +++---
flake.nix | 11 +-
misc/default.nix | 10 +-
misc/documentation.nix | 23 ++
misc/networking.nix | 5 +
misc/nix.nix | 5 +-
misc/sudo.nix | 6 +
misc/system.nix | 44 +++
misc/theme.nix | 45 +++
misc/xdg.nix | 3 +-
pkgs/arc-mono-gtk-theme.nix | 31 +-
pkgs/darkcold-gtk-theme.nix | 11 +-
pkgs/default.nix | 1 -
pkgs/e17gtk-revolved.nix | 9 +-
pkgs/ezquake-fork.nix | 40 +-
pkgs/oxylite-icon-theme.nix | 35 +-
pkgs/sddm-i3-theme.nix | 36 +-
pkgs/vim-darcula-theme.nix | 5 +-
pkgs/win7-cursors.nix | 7 +-
pkgs/winvista-cursors.nix | 7 +-
pkgs/winxp-cursors.nix | 20 +-
pkgs/winxp-icons.nix | 16 +-
programs/alacritty.nix | 75 ++--
programs/autorandr.nix | 51 ++-
programs/default.nix | 101 ++++-
programs/firefox.nix | 151 ++++----
programs/fish.nix | 107 ++++-
programs/git.nix | 14 +-
programs/i3.nix | 366 +++++++++++-------
programs/ssh.nix | 41 +-
programs/vim.nix | 98 +++--
readme.txt | 3 +
services/default.nix | 15 +-
services/dunst.nix | 25 +-
services/flameshot.nix | 14 +-
services/sddm.nix | 12 +
services/xserver.nix | 49 +++
47 files changed, 1151 insertions(+), 757 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/codeStyles/Project.xml
create mode 100644 .idea/codeStyles/codeStyleConfig.xml
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/inspectionProfiles/profiles_settings.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/nix.iml
create mode 100644 .idea/vcs.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 0000000..664f8f1
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 0000000..79ee123
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..53e683b
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..1356700
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..a70e656
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/nix.iml b/.idea/nix.iml
new file mode 100644
index 0000000..d0876a7
--- /dev/null
+++ b/.idea/nix.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/configuration.nix b/configuration.nix
index 8cfc248..918d0a2 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -1,210 +1,9 @@
-{ pkgs, ...}:
+{ ... }:
{
imports = [
./hardware-configuration.nix
+ ./programs
+ ./services
+ ./misc
];
-
- boot = {
- loader = {
- timeout = 2;
- grub = {
- enable = true;
- device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S4CNNE0M700172J";
- gfxmodeBios = "auto"; # 1920x1080 did not work
- splashImage = null;
- font = null;
- };
- };
- # doesn't even work, todo when fixed: remove xrandr from i3 autostart
- kernelParams = [
- "video=DP-3:1920x1080@240"
- "video=HDMI-3:1920x1080@75"
- ];
- };
-
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
- nixpkgs.config.permittedInsecurePackages = [
- "freeimage-unstable-2021-11-01"
- "openssl-1.1.1w"
- ];
-
- networking.hostName = "krizej-pc";
- networking.networkmanager.enable = true;
-
- time.timeZone = "Europe/Warsaw";
-
- # services.libinput = {
- # enable = true;
- # touchpad = {
- # naturalScrolling = false; # it's reversed on my laptop for some reason
- # tapping = true;
- # tappingButtonMap = "lmr";
- # scrollMethod = "edge";
- # };
- # };
-
- programs.sway.enable = true;
-
- services = {
- xserver = {
- enable = true;
- xkb.layout = "pl";
-
- windowManager.i3.enable = true;
-
- displayManager = {
- sessionCommands = ''
- xrandr --output DP-3 --mode 1920x1080 --rate 239.76 --primary
- xrandr --output HDMI-3 --mode 1920x1080 --rate 74.97 --right-of DP-3
- xset r rate 180 50
- '';
- };
-
- autoRepeatDelay = 180;
- autoRepeatInterval = 50;
- };
-
- displayManager = {
- defaultSession = "none+i3";
- sddm = {
- enable = true;
- theme = "sddm-i3-theme";
- };
- };
- };
-
- fonts = {
- enableDefaultPackages = true;
- packages = with pkgs; [
- jetbrains-mono
- dejavu_fonts
- corefonts
- vistafonts
- ];
- fontconfig.defaultFonts = {
- serif = [ "JetBrains Mono NL" ];
- sansSerif = [ "JetBrains Mono NL" ];
- monospace = [ "JetBrains Mono NL" ];
- };
- };
-
- sound.enable = true;
- hardware.pulseaudio.enable = true;
-
- # fucking stupid android shit man
-# users.groups.plugdev.members = [ "krizej" ];
-# services.udev.extraRules = ''
-# SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76", MODE="0666", GROUP="plugdev"
-# '';
-
- users.users.krizej = {
- isNormalUser = true;
- extraGroups = [ "wheel" ];
- shell = pkgs.fish;
- };
-
- qt = {
- enable = true;
- platformTheme = "gnome";
- style = "adwaita-dark";
- };
-
- programs.nano.enable = false;
- programs.dconf.enable = true;
-
- # any-nix-shell
- programs.fish.enable = true;
- programs.fish.promptInit = ''
- ${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
- '';
-
- programs.steam = {
- enable = true;
- };
-
- environment.systemPackages = with pkgs; [
- ed # is the standard text editor.
- vim
- file
- wget
- btop
- git
- gcc
- unzip
- python311
- python39
- ripgrep
- gnomeExtensions.user-themes
- xdg-user-dirs
- man-pages
- man-pages-posix
- ntfs3g
- gnumake
- xclip
- tcl
- pkg-config
- fish
- tree
- openssl_1_1
- sddm-i3-theme
- ];
-
- documentation = {
- enable = true;
- dev.enable = true;
- doc.enable = false;
- info.enable = false;
- man = {
- enable = true;
- generateCaches = false;
- man-db.enable = false;
- mandoc.enable = true;
- };
- };
-
- programs.gnupg.agent = {
- enable = true;
- enableSSHSupport = true;
- };
-
- services.openssh.enable = true;
-
- security.sudo.extraConfig = ''
- Defaults pwfeedback
- '';
-
- hardware = {
- opengl = {
- enable = true;
- driSupport = true;
- driSupport32Bit = true;
- extraPackages = with pkgs; [
- mesa
- amdvlk
- libdrm
- libva
- vaapiVdpau
- libvdpau-va-gl
- rocmPackages.clr.icd
- ];
- extraPackages32 = with pkgs; [
- driversi686Linux.mesa
- driversi686Linux.amdvlk
- driversi686Linux.vaapiVdpau
- driversi686Linux.libvdpau-va-gl
- ];
- };
- };
-
- boot.initrd.kernelModules = [ "amdgpu" ];
-
- environment.sessionVariables = {
- AMD_VULKAN_ICD = "RADV";
- };
-
- nixpkgs.overlays = import ./pkgs pkgs;
- nixpkgs.config.allowUnfree = true;
- system.stateVersion = "23.11";
}
-
diff --git a/flake.lock b/flake.lock
index b829668..c81a576 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,64 +1,64 @@
{
"nodes": {
- "home-manager": {
- "inputs": {
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1718243258,
- "narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "nixpkgs": {
- "locked": {
- "lastModified": 1718318537,
- "narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nur": {
- "locked": {
- "lastModified": 1715942738,
- "narHash": "sha256-85fVkx0bFqblV89A/KLGuJd0IsxCT0wOTIFBQWM1p0o=",
- "owner": "nix-community",
- "repo": "NUR",
- "rev": "cbe245e7ed40f92a6d40bb4a458f9003bbe612d7",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "NUR",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "home-manager": "home-manager",
- "nixpkgs": "nixpkgs",
- "nur": "nur"
- }
- }
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1719827439,
+ "narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "59ce796b2563e19821361abbe2067c3bb4143a7d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1719848872,
+ "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nur": {
+ "locked": {
+ "lastModified": 1719938409,
+ "narHash": "sha256-GzmLs/YaKAzpTQr9u4VpU0ISGtBluAyx9qTZC/86wb4=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "1ec5b968d5751a0c817b7e56974059d01b348bf2",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "NUR",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "home-manager": "home-manager",
+ "nixpkgs": "nixpkgs",
+ "nur": "nur"
+ }
+ }
},
"root": "root",
"version": 7
-}
+ }
diff --git a/flake.nix b/flake.nix
index d492c09..a0e0144 100644
--- a/flake.nix
+++ b/flake.nix
@@ -14,18 +14,11 @@
system = "x86_64-linux";
modules = [
{ nixpkgs.overlays = [ nur.overlay ]; }
- ./configuration.nix
nur.nixosModules.nur
- home-manager.nixosModules.home-manager {
- home-manager = {
- useGlobalPkgs = true;
- useUserPackages = true;
- users.krizej = import ./home.nix;
- };
- }
+ home-manager.nixosModules.home-manager
+ ./configuration.nix
];
};
};
};
}
-
diff --git a/misc/default.nix b/misc/default.nix
index c79ee4b..2ca44ab 100644
--- a/misc/default.nix
+++ b/misc/default.nix
@@ -1,8 +1,12 @@
{ ... }:
{
imports = [
- ./dunst.nix
- ./flameshot.nix
- ./picom.nix
+ ./documentation.nix
+ ./networking.nix
+ ./nix.nix
+ ./sudo.nix
+ ./system.nix
+ ./theme.nix
+ ./xdg.nix
];
}
diff --git a/misc/documentation.nix b/misc/documentation.nix
index e69de29..c2b0ff7 100644
--- a/misc/documentation.nix
+++ b/misc/documentation.nix
@@ -0,0 +1,23 @@
+{ pkgs, ... }:
+{
+ documentation = {
+ enable = true;
+ dev.enable = true;
+ doc.enable = false;
+ info.enable = false;
+ man = {
+ enable = true;
+ generateCaches = false;
+ man-db.enable = false;
+ mandoc.enable = true;
+ };
+ };
+ home-manager.users.krizej.home.sessionVariables = {
+ # c docs first
+ "MANSECT" = "2:3:3p:3type:1:1p:n:l:8:0:0p:5:4:9:6:7";
+ };
+ environment.systemPackages = with pkgs; [
+ man-pages
+ man-pages-posix
+ ];
+}
\ No newline at end of file
diff --git a/misc/networking.nix b/misc/networking.nix
index e69de29..ed68569 100644
--- a/misc/networking.nix
+++ b/misc/networking.nix
@@ -0,0 +1,5 @@
+{ ... }:
+{
+ networking.hostName = "krizej-pc";
+ networking.networkmanager.enable = true;
+}
\ No newline at end of file
diff --git a/misc/nix.nix b/misc/nix.nix
index 7110d35..be6d2f2 100644
--- a/misc/nix.nix
+++ b/misc/nix.nix
@@ -1,12 +1,11 @@
-{ ... }:
+{ pkgs, ... }:
{
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config.permittedInsecurePackages = [
"freeimage-unstable-2021-11-01"
- "openssl-1.1.1w"
];
- nixpkgs.overlays = import ./pkgs pkgs;
+ nixpkgs.overlays = import ../pkgs pkgs;
nixpkgs.config.allowUnfree = true;
}
diff --git a/misc/sudo.nix b/misc/sudo.nix
index e69de29..0e2b551 100644
--- a/misc/sudo.nix
+++ b/misc/sudo.nix
@@ -0,0 +1,6 @@
+{ ... }:
+{
+ security.sudo.extraConfig = ''
+ Defaults pwfeedback
+ '';
+}
diff --git a/misc/system.nix b/misc/system.nix
index e69de29..f2393ef 100644
--- a/misc/system.nix
+++ b/misc/system.nix
@@ -0,0 +1,44 @@
+{ pkgs, ... }:
+{
+ boot = {
+ loader = {
+ timeout = 2;
+ grub = {
+ enable = true;
+ device = "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_500GB_S4CNNE0M700172J";
+ gfxmodeBios = "auto"; # 1920x1080 did not work, this doesn't either
+ splashImage = null;
+ font = null;
+ };
+ };
+ # this doesn't even work
+ kernelParams = [
+ "video=DP-3:1920x1080@240"
+ "video=HDMI-1:1920x1080@75"
+ ];
+ initrd.kernelModules = [ "amdgpu" ];
+ };
+
+ time.timeZone = "Europe/Warsaw";
+
+ sound.enable = true;
+ hardware.pulseaudio.enable = true;
+
+ system.stateVersion = "23.11";
+
+ users.users.krizej = {
+ isNormalUser = true;
+ extraGroups = ["wheel" "input"];
+ };
+ home-manager = {
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ users.krizej = rec {
+ home.stateVersion = "23.11";
+ home.username = "krizej";
+ home.homeDirectory = "/home/krizej";
+ };
+ };
+
+ environment.systemPackages = [ pkgs.ntfs3g ];
+}
diff --git a/misc/theme.nix b/misc/theme.nix
index e69de29..fabe30d 100644
--- a/misc/theme.nix
+++ b/misc/theme.nix
@@ -0,0 +1,45 @@
+{ pkgs, ... }:
+{
+ environment.systemPackages = [
+ pkgs.gnomeExtensions.user-themes
+ ];
+
+ fonts = {
+ enableDefaultPackages = true;
+ packages = with pkgs; [
+ jetbrains-mono
+ ];
+ fontconfig.defaultFonts = {
+ serif = [ "JetBrains Mono NL" ];
+ sansSerif = [ "JetBrains Mono NL" ];
+ monospace = [ "JetBrains Mono NL" ];
+ };
+ };
+
+ qt = {
+ enable = true;
+ platformTheme = "gnome";
+ style = "adwaita-dark";
+ };
+
+ home-manager.users.krizej = {
+ home.pointerCursor = {
+ gtk.enable = true;
+ x11.enable = true;
+ name = "aero-drop";
+ package = pkgs.win7-cursors;
+ };
+
+ gtk = {
+ enable = true;
+ iconTheme = {
+ name = "Arc";
+ package = pkgs.arc-icon-theme;
+ };
+ theme = {
+ name = "Arc-Mono";
+ package = pkgs.arc-mono-gtk-theme;
+ };
+ };
+ };
+}
\ No newline at end of file
diff --git a/misc/xdg.nix b/misc/xdg.nix
index b4da5ba..d44a7bd 100644
--- a/misc/xdg.nix
+++ b/misc/xdg.nix
@@ -1,9 +1,10 @@
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
let
HOME = config.home-manager.users.krizej.home.homeDirectory;
in {
home-manager.users.krizej = {
home.packages = with pkgs; [
+ xdg-user-dirs
xdg-desktop-portal
xdg-desktop-portal-gnome
];
diff --git a/pkgs/arc-mono-gtk-theme.nix b/pkgs/arc-mono-gtk-theme.nix
index 7559dee..caaffbf 100644
--- a/pkgs/arc-mono-gtk-theme.nix
+++ b/pkgs/arc-mono-gtk-theme.nix
@@ -1,17 +1,18 @@
-{ lib, stdenv
-, fetchFromGitHub
-, sassc
-, meson
-, ninja
-, glib
-, gnome
-, gtk-engine-murrine
-, inkscape
-, cinnamon
-, makeFontsConf
-, python3
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ sassc,
+ meson,
+ ninja,
+ glib,
+ gnome,
+ gtk-engine-murrine,
+ inkscape,
+ cinnamon,
+ makeFontsConf,
+ python3,
}:
-
stdenv.mkDerivation rec {
pname = "arc-theme";
version = "i don't care";
@@ -47,7 +48,7 @@ stdenv.mkDerivation rec {
'';
# Fontconfig error: Cannot load default config file: No such file: (null)
- FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
+ FONTCONFIG_FILE = makeFontsConf {fontDirectories = [];};
mesonFlags = [
"-Dthemes=gtk2,gtk3,gtk4"
@@ -63,6 +64,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/jnsh/arc-theme";
license = licenses.gpl3Only;
platforms = platforms.linux;
- maintainers = with maintainers; [ simonvandel romildo ];
+ maintainers = with maintainers; [simonvandel romildo];
};
}
diff --git a/pkgs/darkcold-gtk-theme.nix b/pkgs/darkcold-gtk-theme.nix
index 764f7ba..fbdf9d0 100644
--- a/pkgs/darkcold-gtk-theme.nix
+++ b/pkgs/darkcold-gtk-theme.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, }:
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+}:
stdenv.mkDerivation {
pname = "darkcold-gtk-theme";
version = "v5.1.0";
@@ -14,8 +18,8 @@ stdenv.mkDerivation {
runHook preInstall
mkdir -p "$out/share/themes/darkcold/"
- cp -r * "$out/share/themes/darkcold/";
- cp userContent.css "$out/";
+ cp -r * "$out/share/themes/darkcold/";
+ cp userContent.css "$out/";
runHook postInstall
'';
@@ -27,4 +31,3 @@ stdenv.mkDerivation {
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/default.nix b/pkgs/default.nix
index d4ec932..c5d676a 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -12,4 +12,3 @@ pkgs: [
sddm-i3-theme = pkgs.callPackage ./sddm-i3-theme.nix {};
})
]
-
diff --git a/pkgs/e17gtk-revolved.nix b/pkgs/e17gtk-revolved.nix
index 04949e1..42b5b76 100644
--- a/pkgs/e17gtk-revolved.nix
+++ b/pkgs/e17gtk-revolved.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchFromGitea }:
+{
+ lib,
+ stdenv,
+ fetchFromGitea,
+}:
stdenv.mkDerivation {
pname = "e17gtk-revolved";
version = "2023-06-13";
@@ -16,7 +20,7 @@ stdenv.mkDerivation {
install -d $out/share/themes/E17gtk-revolved
cp -r * $out/share/themes/E17gtk-revolved
-
+
runHook postInstall
'';
@@ -27,4 +31,3 @@ stdenv.mkDerivation {
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/ezquake-fork.nix b/pkgs/ezquake-fork.nix
index dd945e4..e53ef85 100644
--- a/pkgs/ezquake-fork.nix
+++ b/pkgs/ezquake-fork.nix
@@ -1,8 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, curl, expat
-, jansson, libpng, libjpeg, libGLU, libGL
-, libsndfile, libXxf86vm, pcre, pkg-config, SDL2
-, vim, speex }:
-
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ curl,
+ expat,
+ jansson,
+ libpng,
+ libjpeg,
+ libGLU,
+ libGL,
+ libsndfile,
+ libXxf86vm,
+ pcre,
+ pkg-config,
+ SDL2,
+ vim,
+ speex,
+}:
stdenv.mkDerivation rec {
pname = "ezquake";
version = "3.6.5";
@@ -15,9 +29,21 @@ stdenv.mkDerivation rec {
hash = "sha256-Ldv//lsukn985IljXHXDClsYY+Sk1fh41s1NySWkvuE=";
};
- nativeBuildInputs = [ pkg-config ];
+ nativeBuildInputs = [pkg-config];
buildInputs = [
- expat curl jansson libpng libjpeg libGLU libGL libsndfile libXxf86vm pcre SDL2 vim speex
+ expat
+ curl
+ jansson
+ libpng
+ libjpeg
+ libGLU
+ libGL
+ libsndfile
+ libXxf86vm
+ pcre
+ SDL2
+ vim
+ speex
];
installPhase = with lib; let
diff --git a/pkgs/oxylite-icon-theme.nix b/pkgs/oxylite-icon-theme.nix
index 1282948..1588c08 100644
--- a/pkgs/oxylite-icon-theme.nix
+++ b/pkgs/oxylite-icon-theme.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme }:
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ gtk3,
+ hicolor-icon-theme,
+}:
stdenv.mkDerivation {
pname = "oxylite-icon-theme";
version = "2024-04-22";
@@ -10,10 +16,10 @@ stdenv.mkDerivation {
hash = "sha256-syjFs2gkscdlpOmWgraj4l1+WwIaIVFZlhDY4nP99Oo=";
};
-# propagatedBuildInputs = [ hicolor-icon-theme ];
+ # propagatedBuildInputs = [ hicolor-icon-theme ];
- nativeBuildInputs = [ gtk3 ];
-# dontDropIconThemeCache = true;
+ nativeBuildInputs = [gtk3];
+ # dontDropIconThemeCache = true;
buildPhase = ''
runHook preBuild
@@ -23,20 +29,20 @@ stdenv.mkDerivation {
installPhase = ''
runHook preInstall
- prefix="$out/share/icons/oxylite";
- mkdir -p "$prefix";
+ prefix="$out/share/icons/oxylite";
+ mkdir -p "$prefix";
for d in actions apps categories devices emblems emotes mimetypes places status ui; do
- install -d "$prefix/$d";
- cp -ar "$d" "$prefix";
- chmod -R u=rwX,g=rX,o=rX "$prefix/$d";
- done;
+ install -d "$prefix/$d";
+ cp -ar "$d" "$prefix";
+ chmod -R u=rwX,g=rX,o=rX "$prefix/$d";
+ done;
- install -m 644 index.theme "$prefix/index.theme";
- install -m 644 licenses.yml "$prefix/licenses.yml";
- install -m 644 README.md "$prefix/README.md";
+ install -m 644 index.theme "$prefix/index.theme";
+ install -m 644 licenses.yml "$prefix/licenses.yml";
+ install -m 644 README.md "$prefix/README.md";
gtk-update-icon-cache --force "$prefix"
-
+
runHook postInstall
'';
@@ -47,4 +53,3 @@ stdenv.mkDerivation {
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/sddm-i3-theme.nix b/pkgs/sddm-i3-theme.nix
index 49dc9a2..8564ea6 100644
--- a/pkgs/sddm-i3-theme.nix
+++ b/pkgs/sddm-i3-theme.nix
@@ -1,21 +1,25 @@
-{ lib, stdenv, fetchzip }:
+{
+ lib,
+ stdenv,
+ fetchzip,
+}:
stdenv.mkDerivation rec {
- pname = "sddm-i3-theme";
- version = "1";
+ pname = "sddm-i3-theme";
+ version = "1";
- src = fetchzip {
- # lol
- url = "http://192.168.1.12/${pname}.tar.gz";
- hash = "sha256-WGvjW3Z8TfJhAsbxUyYRKSYFucEwYzTIbpDZsLTPbyo=";
- };
+ src = fetchzip {
+ # lol
+ url = "http://192.168.1.12/${pname}.tar.gz";
+ hash = "sha256-WGvjW3Z8TfJhAsbxUyYRKSYFucEwYzTIbpDZsLTPbyo=";
+ };
- installPhase = ''
- mkdir -p $out/share/sddm/themes/${pname}/
- cp -r $src/* $out/share/sddm/themes/${pname}/
- '';
+ installPhase = ''
+ mkdir -p $out/share/sddm/themes/${pname}/
+ cp -r $src/* $out/share/sddm/themes/${pname}/
+ '';
- meta = {
- license = lib.licenses.mit;
- platforms = lib.platforms.linux;
- };
+ meta = {
+ license = lib.licenses.mit;
+ platforms = lib.platforms.linux;
+ };
}
diff --git a/pkgs/vim-darcula-theme.nix b/pkgs/vim-darcula-theme.nix
index 1b0751e..a950f1d 100644
--- a/pkgs/vim-darcula-theme.nix
+++ b/pkgs/vim-darcula-theme.nix
@@ -1,4 +1,7 @@
-{ lib, pkgs }:
+{
+ lib,
+ pkgs,
+}:
pkgs.vimUtils.buildVimPlugin {
name = "vim-darcula-theme";
src = pkgs.fetchFromGitHub {
diff --git a/pkgs/win7-cursors.nix b/pkgs/win7-cursors.nix
index d337894..c0b29bd 100644
--- a/pkgs/win7-cursors.nix
+++ b/pkgs/win7-cursors.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchzip }:
+{
+ lib,
+ stdenv,
+ fetchzip,
+}:
stdenv.mkDerivation rec {
pname = "win7-cursors";
version = "1";
@@ -28,4 +32,3 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/winvista-cursors.nix b/pkgs/winvista-cursors.nix
index 8553070..3a8be21 100644
--- a/pkgs/winvista-cursors.nix
+++ b/pkgs/winvista-cursors.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchFromGitHub }:
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+}:
stdenv.mkDerivation {
pname = "winvista-cursors";
version = "1";
@@ -23,4 +27,3 @@ stdenv.mkDerivation {
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/winxp-cursors.nix b/pkgs/winxp-cursors.nix
index c6b6590..c71b2c5 100644
--- a/pkgs/winxp-cursors.nix
+++ b/pkgs/winxp-cursors.nix
@@ -1,4 +1,12 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python3, xorg, shadows ? false }:
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ python3,
+ xorg,
+ shadows ? false,
+}:
stdenv.mkDerivation rec {
pname = "winxp-cursors";
version = "2023-11-22";
@@ -11,10 +19,13 @@ stdenv.mkDerivation rec {
hash = "sha256-bvkoe/L9KjMcCj5SlcNGoZKZtQwZHGYPFVSZbRfLztY=";
};
- nativeBuildInputs = [ cmake python3 xorg.xcursorgen ];
+ nativeBuildInputs = [cmake python3 xorg.xcursorgen];
dontUseCmakeConfigure = true;
- cursor_variant = if shadows then "with-shadow" else "no-shadow";
+ cursor_variant =
+ if shadows
+ then "with-shadow"
+ else "no-shadow";
buildPhase = ''
cd packaging
@@ -34,8 +45,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Windows XP Cursors";
homepage = "https://github.com/rozniak/xfce-winxp-tc";
- license = with licenses; [ unfreeRedistributable gpl2Plus ];
+ license = with licenses; [unfreeRedistributable gpl2Plus];
platforms = platforms.linux;
};
}
-
diff --git a/pkgs/winxp-icons.nix b/pkgs/winxp-icons.nix
index 74afe35..c6e3613 100644
--- a/pkgs/winxp-icons.nix
+++ b/pkgs/winxp-icons.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python3, gtk3 }:
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ python3,
+ gtk3,
+}:
stdenv.mkDerivation {
pname = "winxp-icons";
version = "2024-03-27";
@@ -11,8 +18,8 @@ stdenv.mkDerivation {
hash = "sha256-bvkoe/L9KjMcCj5SlcNGoZKZtQwZHGYPFVSZbRfLztY=";
};
- nativeBuildInputs = [ cmake python3 gtk3 ];
- dontUseCmakeConfigure = true;
+ nativeBuildInputs = [cmake python3 gtk3];
+ dontUseCmakeConfigure = true;
buildPhase = ''
cd packaging
@@ -33,8 +40,7 @@ stdenv.mkDerivation {
meta = with lib; {
description = "Windows XP Icons";
homepage = "https://github.com/rozniak/xfce-winxp-tc";
- license = with licenses; [ unfreeRedistributable gpl2Plus ];
+ license = with licenses; [unfreeRedistributable gpl2Plus];
platforms = platforms.linux;
};
}
-
diff --git a/programs/alacritty.nix b/programs/alacritty.nix
index dfb4c0c..6ca7c41 100644
--- a/programs/alacritty.nix
+++ b/programs/alacritty.nix
@@ -1,41 +1,46 @@
-{...}:
+{ ... }:
{
- enable = true;
- settings = {
- font.size = 10;
- window.padding = { x = 2; y = 2; };
- cursor = {
- style = {
- shape = "Beam";
- blinking = "On";
+ home-manager.users.krizej.programs.alacritty = {
+ enable = true;
+ settings = {
+ font.size = 10;
+ window.padding = {
+ x = 2;
+ y = 2;
};
- blink_timeout = 0;
- unfocused_hollow = false;
- };
- colors = {
- primary = {
- foreground = "#e4e4ef";
- background = "#181818";
+ cursor = {
+ style = {
+ shape = "Beam";
+ blinking = "On";
+ };
+ blink_timeout = 0;
+ unfocused_hollow = false;
};
- normal = {
- black = "#202020";
- red = "#f43841";
- green = "#73c936";
- yellow = "#ffdd33";
- blue = "#5a81ce";
- magenta = "#ae65b7";
- cyan = "#71afcf";
- white = "#dddddd";
- };
- bright = {
- black = "#282828";
- red = "#ff4f58";
- green = "#91d956";
- yellow = "#ffee55";
- blue = "#71afe8";
- magenta = "#ce85e7";
- cyan = "#91dfef";
- white = "#f4f4ff";
+ colors = {
+ primary = {
+ foreground = "#e4e4ef";
+ background = "#181818";
+ };
+ normal = {
+ black = "#202020";
+ red = "#f43841";
+ green = "#73c936";
+ yellow = "#ffdd33";
+ blue = "#5a81ce";
+ magenta = "#ae65b7";
+ cyan = "#71afcf";
+ white = "#dddddd";
+ };
+ bright = {
+ black = "#282828";
+ red = "#ff4f58";
+ green = "#91d956";
+ yellow = "#ffee55";
+ blue = "#71afe8";
+ magenta = "#ce85e7";
+ cyan = "#91dfef";
+ white = "#f4f4ff";
+ };
};
};
};
diff --git a/programs/autorandr.nix b/programs/autorandr.nix
index 1582ae3..2444ec0 100644
--- a/programs/autorandr.nix
+++ b/programs/autorandr.nix
@@ -1,34 +1,33 @@
{ pkgs, ... }:
{
- enable = true;
- hooks.postswitch = {
- "notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
- };
- profiles = {
- "main" = {
- fingerprint = {
- "DP-3" = "00ffffffffffff0026cd5961830600001d1f0104b5361e783b4c70a5574ea4260b5054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c4500202f2100001e000000ff0031313737393132393031363637000000fd0030f0ffff3c010a202020202020000000fc00504c3235393048530a20202020019202033bf1529005040302011112131f203f140607151640e200d52309070783010000e305c301e60605016666006d1a0000020130f00000000000005a8780a070384d4030203500202f2100001ad09480a070381e4008203500202f2100001a23e88078703887401c40980c202f2100001a000000000000000000000000000063";
- "HDMI-3" = "00ffffffffffff0026cd326162190000291c010380361e782a9055a75553a028135054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c4500202f2100001e000000ff0031313534333834313036343938000000fd00374c1e5312000a202020202020000000fc00504c32353330480a2020202020016202032bf14f90050403020111121314060715161f230907078301000065030c001000681a00000101284be6023a801871382d40582c4500202f2100001f011d8018711c1620582c2500202f2100009e011d007251d01e206e285500202f2100001e2a4480a07038274030203500202f2100001a000000000000000000000000ab";
- };
- config = {
- "DP-3" = {
- enable = true;
- mode = "1920x1080";
- rate = "239.76";
- position = "0x0";
+ # TODO: this shit ain't working
+ home-manager.users.krizej.programs.autorandr = {
+ enable = true;
+ hooks.postswitch = {
+ "notify-i3" = "${pkgs.i3}/bin/i3-msg restart";
+ };
+ profiles = {
+ "main" = {
+ fingerprint = {
+ "DP-3" = "00ffffffffffff0026cd5961830600001d1f0104b5361e783b4c70a5574ea4260b5054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c4500202f2100001e000000ff0031313737393132393031363637000000fd0030f0ffff3c010a202020202020000000fc00504c3235393048530a20202020019202033bf1529005040302011112131f203f140607151640e200d52309070783010000e305c301e60605016666006d1a0000020130f00000000000005a8780a070384d4030203500202f2100001ad09480a070381e4008203500202f2100001a23e88078703887401c40980c202f2100001a000000000000000000000000000063";
+ "HDMI-3" = "00ffffffffffff0026cd326162190000291c010380361e782a9055a75553a028135054a56b80710081408180a940b3009500950fd1c0023a801871382d40582c4500202f2100001e000000ff0031313534333834313036343938000000fd00374c1e5312000a202020202020000000fc00504c32353330480a2020202020016202032bf14f90050403020111121314060715161f230907078301000065030c001000681a00000101284be6023a801871382d40582c4500202f2100001f011d8018711c1620582c2500202f2100009e011d007251d01e206e285500202f2100001e2a4480a07038274030203500202f2100001a000000000000000000000000ab";
};
- "HDMI-3" = {
- enable = true;
- mode = "1920x1080";
- rate = "74.97";
- primary = true;
- position = "1920x0";
+ config = {
+ "DP-3" = {
+ enable = true;
+ mode = "1920x1080";
+ rate = "239.76";
+ position = "0x0";
+ };
+ "HDMI-3" = {
+ enable = true;
+ mode = "1920x1080";
+ rate = "74.97";
+ primary = true;
+ position = "1920x0";
+ };
};
};
};
};
}
-
-
-
-
diff --git a/programs/default.nix b/programs/default.nix
index 1854b04..2c3133c 100644
--- a/programs/default.nix
+++ b/programs/default.nix
@@ -1,16 +1,87 @@
-[
- # i3 is not here because it goes into xsession.windowManager instead of into programs
- "home-manager"
- "firefox"
- "alacritty"
- "fish"
- "eza"
- "yt-dlp"
- "rofi"
- "autorandr"
- "i3status"
- "ssh"
- "git"
- "vim"
-]
+{ pkgs, ... }:
+{
+ imports = [
+ ./alacritty.nix
+ ./autorandr.nix
+ ./firefox.nix
+ ./fish.nix
+ ./git.nix
+ ./i3.nix
+ ./ssh.nix
+ ./vim.nix
+ ];
+ config = {
+ programs = {
+ dconf.enable = true;
+ steam.enable = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ ed # is the standard text editor.
+ ripgrep
+ eza
+ file
+ tree
+ btop
+ unzip
+ wget
+ gcc
+ gnumake
+ pkg-config
+ python39
+ ];
+
+ # maybe i can just put it into the packages but idk whatever
+ home-manager.users.krizej.programs = {
+ home-manager.enable = true;
+ eza.enable = true;
+ yt-dlp.enable = true;
+ };
+ home-manager.users.krizej.home.packages = with pkgs; [
+ fortune
+
+ xarchiver
+ gvfs
+ yad
+ pcmanfm
+
+ pavucontrol
+ pamixer
+
+ element-desktop
+ discord
+
+ gamemode
+ ezquake
+ vkquake
+ ericw-tools
+ trenchbroom
+ r2modman
+
+ libreoffice-qt
+ gimp
+ sqlitebrowser
+ feh
+
+ wineWowPackages.stable
+ winetricks
+
+ gdb
+ ccls
+ clang-tools
+ tcl
+
+ gpu-screen-recorder # todo: config this shit so it works
+ gpu-screen-recorder-gtk
+ obs-studio
+
+ jetbrains.pycharm-community
+ jetbrains.clion
+ (pkgs.writeShellScriptBin "clion-nix" ''
+ cd ~/projects/$1
+ nix-shell --run "clion ."
+ '')
+ ];
+ };
+}
diff --git a/programs/firefox.nix b/programs/firefox.nix
index fe6de22..f4e837a 100644
--- a/programs/firefox.nix
+++ b/programs/firefox.nix
@@ -1,26 +1,27 @@
{ pkgs, ... }:
{
- enable = true;
- policies = {
- DisableTelemetry = true;
- DisableFirefoxStudies = true;
- EnableTrackingProtection = {
- Value = true;
- Locked = true;
- Cryptomining = true;
- Fingerprinting = true;
- };
- DisablePocket = true;
- DisableFirefoxAccounts = true;
- DisableAccounts = true;
- DisableFirefoxScreenshots = true;
- OverridePostUpdatePage = "";
- DontCheckDefaultBrowser = true;
- DisplayBookmarksToolbar = "always";
- DisplayMenuBar = "default-off";
- SearchBar = "unified";
- DefaultDownloadDirectory = "$HOME/downloads";
- ExtensionSettings = {
+ home-manager.users.krizej.programs.firefox = {
+ enable = true;
+ policies = {
+ DisableTelemetry = true;
+ DisableFirefoxStudies = true;
+ EnableTrackingProtection = {
+ Value = true;
+ Locked = true;
+ Cryptomining = true;
+ Fingerprinting = true;
+ };
+ DisablePocket = true;
+ DisableFirefoxAccounts = true;
+ DisableAccounts = true;
+ DisableFirefoxScreenshots = true;
+ OverridePostUpdatePage = "";
+ DontCheckDefaultBrowser = true;
+ DisplayBookmarksToolbar = "always";
+ DisplayMenuBar = "default-off";
+ SearchBar = "unified";
+ DefaultDownloadDirectory = "$HOME/downloads";
+ ExtensionSettings = {
# ublock origin
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
@@ -36,60 +37,62 @@
install_url = "https://addons.mozilla.org/firefox/downloads/file/4251917/latest.xpi";
installation_mode = "force_installed";
};
- };
- };
- profiles.krizej = {
- id = 0;
- isDefault = true;
- search = {
- default = "envs.net - SearXNG";
- force = true;
- engines = {
- "envs.net - SearXNG" = {
- urls = [{ template = "https://searx.envs.net/searxng/search?q={searchTerms}"; }];
- icon = "https://envs.net/favicon.ico";
- iconUpdateURL = "https://envs.net/favicon.ico";
- updateInterval = 24 * 60 * 60 * 1000;
- definedAliases = [ "@sx" ];
- };
-
- "Wikipedia (en)".metaData.alias = "@w";
- # searx sometimes sucks
- "Google".metaData.alias = "@g";
-
- "Nix Packages" = {
- urls = [{ template = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}"; }];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@np" ];
- };
- "Nix Options" = {
- urls = [{ template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}"; }];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "@no" ];
- };
- "Home Manger" = {
- urls = [{ template = "https://home-manager-options.extranix.com/?release=master&query={searchTerms}"; }];
- icon = "https://home-manager-options.extranix.com/images/favicon.png";
- iconUpdateURL = "https://home-manager-options.extranix.com/images/favicon.png";
- updateInterval = 24 * 60 * 60 * 1000;
- definedAliases = [ "@hm" ];
- };
- "Arch Wiki" = {
- urls = [{ template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; }];
- icon = "https://wiki.archlinux.org/favicon.ico";
- iconUpdateURL = "https://wiki.archlinux.org/favicon.ico";
- updateInterval = 24 * 60 * 60 * 1000;
- definedAliases = [ "@aw" ];
- };
-
- # the rest can fuck off
- "Bing".metaData.hidden = true;
- "DuckDuckGo".metaData.hidden = true;
};
};
- settings = {
- "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
- "services.sync.prefs.sync.extensions.activeThemeID" = "false";
+ profiles.krizej = {
+ id = 0;
+ isDefault = true;
+ search = {
+ default = "envs.net - SearXNG";
+ force = true;
+ engines = {
+ "envs.net - SearXNG" = {
+ urls = [{template = "https://searx.envs.net/searxng/search?q={searchTerms}";}];
+ icon = "https://envs.net/favicon.ico";
+ iconUpdateURL = "https://envs.net/favicon.ico";
+ updateInterval = 24 * 60 * 60 * 1000;
+ definedAliases = ["@sx"];
+ };
+
+ # searx sometimes sucks
+ "Google".metaData.alias = "@g";
+
+ "Wikipedia (en)".metaData.alias = "@w";
+
+ "Nix Packages" = {
+ urls = [{template = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";}];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = ["@np"];
+ };
+ "Nix Options" = {
+ urls = [{template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";}];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = ["@no"];
+ };
+ "Home Manger" = {
+ urls = [{template = "https://home-manager-options.extranix.com/?release=master&query={searchTerms}";}];
+ icon = "https://home-manager-options.extranix.com/images/favicon.png";
+ iconUpdateURL = "https://home-manager-options.extranix.com/images/favicon.png";
+ updateInterval = 24 * 60 * 60 * 1000;
+ definedAliases = ["@hm"];
+ };
+ "Arch Wiki" = {
+ urls = [{template = "https://wiki.archlinux.org/index.php?search={searchTerms}";}];
+ icon = "https://wiki.archlinux.org/favicon.ico";
+ iconUpdateURL = "https://wiki.archlinux.org/favicon.ico";
+ updateInterval = 24 * 60 * 60 * 1000;
+ definedAliases = ["@aw"];
+ };
+
+ # the rest can fuck off
+ "Bing".metaData.hidden = true;
+ "DuckDuckGo".metaData.hidden = true;
+ };
+ };
+ settings = {
+ "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
+ "services.sync.prefs.sync.extensions.activeThemeID" = "false";
+ };
};
- };
+ };
}
diff --git a/programs/fish.nix b/programs/fish.nix
index fe67b2b..a6e6c82 100644
--- a/programs/fish.nix
+++ b/programs/fish.nix
@@ -1,21 +1,96 @@
-{...}:
+{ pkgs, ... }:
{
- enable = true;
-
- shellAliases = {
- "ls" = "eza -lhs type";
- "cp" = "cp -v";
- "mv" = "mv -v";
- "ytmp3" = "yt-dlp -o '%(title)s.%(ext)s' -x --audio-format mp3";
- "myip" = "curl ifconfig.me";
- };
+ environment.systemPackages = [ pkgs.fish ];
+ programs.fish.enable = true;
+ users.users.krizej.shell = pkgs.fish;
- shellAbbrs = {
- "2clip" = "xclip -selection clipboard";
- };
+ programs.fish.promptInit = ''
+ ${pkgs.any-nix-shell}/bin/any-nix-shell fish --info-right | source
+ '';
- functions = {
- "fish_greeting" = "fortune";
- "fish_prompt" = builtins.readFile ../files/prompt.fish;
+ home-manager.users.krizej.programs.fish = {
+ enable = true;
+
+ shellAliases = {
+ "ls" = "eza -lhs type";
+ "cp" = "cp -v";
+ "mv" = "mv -v";
+ "ytmp3" = "yt-dlp -o '%(title)s.%(ext)s' -x --audio-format mp3";
+ "myip" = "curl ifconfig.me";
+ };
+
+ shellAbbrs = {
+ "2clip" = "xclip -selection clipboard";
+ };
+
+ functions = {
+ "fish_greeting" = "fortune";
+ "fish_prompt" = ''
+ # name: Informative Vcs
+ # author: Mariusz Smykula
+
+ # function fish_prompt --description 'Write out the prompt'
+ set -l last_pipestatus $pipestatus
+ set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
+
+ if not set -q __fish_git_prompt_show_informative_status
+ set -g __fish_git_prompt_show_informative_status 1
+ end
+ if not set -q __fish_git_prompt_hide_untrackedfiles
+ set -g __fish_git_prompt_hide_untrackedfiles 1
+ end
+ if not set -q __fish_git_prompt_color_branch
+ set -g __fish_git_prompt_color_branch magenta --bold
+ end
+ if not set -q __fish_git_prompt_showupstream
+ set -g __fish_git_prompt_showupstream informative
+ end
+ if not set -q __fish_git_prompt_color_dirtystate
+ set -g __fish_git_prompt_color_dirtystate blue
+ end
+ if not set -q __fish_git_prompt_color_stagedstate
+ set -g __fish_git_prompt_color_stagedstate yellow
+ end
+ if not set -q __fish_git_prompt_color_invalidstate
+ set -g __fish_git_prompt_color_invalidstate red
+ end
+ if not set -q __fish_git_prompt_color_untrackedfiles
+ set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
+ end
+ if not set -q __fish_git_prompt_color_cleanstate
+ set -g __fish_git_prompt_color_cleanstate green --bold
+ end
+
+ set -l color_cwd
+ set -l suffix
+ if functions -q fish_is_root_user; and fish_is_root_user
+ if set -q fish_color_cwd_root
+ set color_cwd $fish_color_cwd_root
+ else
+ set color_cwd $fish_color_cwd
+ end
+ set suffix '#'
+ else
+ set color_cwd $fish_color_cwd
+ set suffix '$'
+ end
+
+ # PWD
+ set_color $color_cwd
+ echo -n (prompt_pwd)
+ set_color normal
+
+ printf '%s ' (fish_vcs_prompt)
+
+ set -l status_color (set_color $fish_color_status)
+ set -l statusb_color (set_color --bold $fish_color_status)
+ set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
+ echo -n $prompt_status
+ set_color normal
+
+ echo -n "$suffix "
+ # end
+ '';
+ };
};
}
diff --git a/programs/git.nix b/programs/git.nix
index 4e95606..cbad85b 100644
--- a/programs/git.nix
+++ b/programs/git.nix
@@ -1,8 +1,10 @@
-{...}:
+{ pkgs, ... }:
{
- enable = true;
- userName = "krizej";
- userEmail = "60076189+krizej@users.noreply.github.com";
-# init.defaultBranch = "master";
-# push.autoSetupRemote = true;
+ environment.systemPackages = [ pkgs.git ];
+ home-manager.users.krizej.programs.git = {
+ enable = true;
+ userName = "krizej";
+ userEmail = "60076189+krizej@users.noreply.github.com";
+ extraConfig.init.defaultBranch = "master";
+ };
}
diff --git a/programs/i3.nix b/programs/i3.nix
index 0c8ba1d..643a5df 100644
--- a/programs/i3.nix
+++ b/programs/i3.nix
@@ -1,167 +1,247 @@
-{ pkgs, ... }:
-{
- enable = true;
- config = rec {
- assigns = {
- "2" = [
- { class = "discord"; }
- { class = "SchildiChat"; }
- { class = "element"; }
- ];
- };
-
- window = {
- border = 1;
- titlebar = false;
- };
+{ config, pkgs, ... }:
+let
+ HOME = config.home-manager.users.krizej.home.homeDirectory;
+in {
+ services.xserver.windowManager.i3.enable = true;
+ home-manager.users.krizej = {
+ xsession.windowManager.i3 = {
+ enable = true;
+ config = rec {
+ assigns = {
+ "2" = [
+ { class = "discord"; }
+ { class = "SchildiChat"; }
+ { class = "element"; }
+ ];
+ };
- floating = {
- border = 1;
- titlebar = true;
- criteria = [
- { class = "zenity"; }
- { class = "fceux"; }
- { title = "Friends List"; } # steam
- ];
- };
+ window = {
+ border = 1;
+ titlebar = true;
+ };
- gaps = {
- inner = 0;
- outer = 0;
- };
-
- fonts = {
- names = ["JetBrains Mono NL"];
- size = 10.0;
- };
+ floating = {
+ border = 1;
+ titlebar = true;
+ criteria = [
+ { class = "zenity"; }
+ { class = "fceux"; }
+ { title = "Friends List"; }
+ ];
+ };
- bars = [{
- inherit fonts;
- trayOutput = "primary";
- statusCommand = "${pkgs.i3status}/bin/i3status";
- }];
+ gaps = {
+ inner = 0;
+ outer = 0;
+ };
- defaultWorkspace = "workspace number 1";
- workspaceOutputAssign = [
- { workspace = "1"; output = "DP-3"; }
- { workspace = "2"; output = "HDMI-3"; }
- ];
+ fonts = {
+ names = [ "JetBrains Mono NL" ];
+ size = 10.0;
+ };
- focus = {
- followMouse = true;
- mouseWarping = true;
- newWindow = "urgent";
- };
-
- startup = [
-# { command = "picom &"; notification = false; }
- { command = "mpd &"; notification = false; }
- { command = "dunst &"; notification = false; }
- { command = "flameshot &"; notification = false; }
+ bars = [
+ {
+ inherit fonts;
+ trayOutput = "primary";
+ statusCommand = "${pkgs.i3status}/bin/i3status";
+ }
+ ];
- # { command = "lcd-bar startdaemon 192.168.1.12 &"; notification = false; }
- # { command = "lcd-bar-status &"; notification = false; }
+ defaultWorkspace = "workspace number 1";
+ workspaceOutputAssign = [
+ { workspace = "1"; output = "DP-3"; }
+ { workspace = "2"; output = "HDMI-3"; }
+ ];
- { command = "i3bar-mouse &"; notification = false; }
+ focus = {
+ followMouse = true;
+ mouseWarping = true;
+ newWindow = "urgent";
+ };
- # { command = "hydration.sh &"; notification = false; }
+ startup = [
+ # { command = "mpd &"; notification = false; }
+ { command = "dunst &"; notification = false; }
+ { command = "flameshot &"; notification = false; }
- { command = "i3-msg \"workspace 2; append_layout ~/.config/i3/workspace2.json\""; notification = false; }
- { command = "discord &"; notification = false; }
- { command = "element-desktop &"; notification = false; }
-
-# { command = "xrandr --output DP-3 --mode 1920x1080 --rate 239.76 --primary --output HDMI-3 --mode 1920x1080 --rate 74.97 --right-of DP-3 &"; notification = false; }
- ];
+ { command = "i3-msg \"workspace 2; append_layout ~/.config/i3/workspace2.json\""; notification = false; }
+ { command = "discord &"; notification = false; }
+ { command = "element-desktop &"; notification = false; }
- modes = let
- cmd_and_center = (cmd: "exec --no-startup-id i3-msg '${cmd}' && i3-center-mouse-on-focus");
- in {
- resize = {
- "Left" = cmd_and_center "resize shrink width 10 px or 10 ppt";
- "Right" = cmd_and_center "resize grow width 10 px or 10 ppt";
- "Up" = cmd_and_center "resize shrink height 10 px or 10 ppt";
- "Down" = cmd_and_center "resize grow height 10 px or 10 ppt";
- "Escape" = "mode default";
+ # { command = "xrandr --output DP-3 --mode 1920x1080 --rate 239.76 --primary --output HDMI-3 --mode 1920x1080 --rate 74.97 --right-of DP-3 &"; notification = false; }
+ ];
+
+ modes = let
+ cmd_and_center = cmd: "exec --no-startup-id i3-msg '${cmd}' && i3-center-mouse-on-focus";
+ in {
+ resize = {
+ "Left" = cmd_and_center "resize shrink width 10 px or 10 ppt";
+ "Right" = cmd_and_center "resize grow width 10 px or 10 ppt";
+ "Up" = cmd_and_center "resize shrink height 10 px or 10 ppt";
+ "Down" = cmd_and_center "resize grow height 10 px or 10 ppt";
+ "Escape" = "mode default";
+ };
+ };
+
+ modifier = "Mod4";
+ floating.modifier = "Mod4";
+
+ keybindings = let
+ mod = modifier;
+ execns = "exec --no-startup-id";
+ cmd_and_center = cmd: "${execns} i3-msg '${cmd}' && i3custom-center-mouse-on-focus";
+ in {
+ # Program keybinds
+ "${mod}+Return" = "${execns} alacritty";
+ "${mod}+Shift+s" = "${execns} flameshot gui";
+ "${mod}+b" = "${execns} firefox";
+ "${mod}+d" = "${execns} dmenu_run";
+ "--release ${mod}+k" = "${execns} xkill";
+
+ # Volume control
+ "Ctrl+F9" = "${execns} pamixer --toggle-mute";
+ "Ctrl+F10" = "${execns} pamixer --decrease 5";
+ "Ctrl+F11" = "${execns} pamixer --increase 5";
+
+ # MPD controls
+ # "Ctrl+F5" = "exec ~/music/select_music.sh";
+ # "Ctrl+F6" = "exec mpc prev";
+ # "Ctrl+F7" = "exec mpc toggle";
+ # "Ctrl+F8" = "exec mpc next";
+ # "Ctrl+Shift+F6" = "exec mpc seek -3";
+ # "Ctrl+Shift+F7" = "exec mpc clear";
+ # "Ctrl+Shift+F8" = "exec mpc seek +3";
+ # "Ctrl+Shift+F10" = ''exec mpc volume -5 && dunstify "mpc $(mpc volume)" -r 420'';
+ # "Ctrl+Shift+F11" = ''exec mpc volume +5 && dunstify "mpc $(mpc volume)" -r 420'';
+
+ # General i3 keybindings
+ "${mod}+f" = cmd_and_center "fullscreen toggle";
+ "${mod}+r" = "mode resize";
+ "${mod}+Shift+q" = cmd_and_center "kill";
+ "${mod}+Shift+r" = "restart";
+ "${mod}+Shift+e" = "${execns} i3-nagbar -t warning -m 'exit?' -b 'yes' 'i3-msg exit'";
+ # Mouse bindings
+ "--border button3" = "${execns} i3custom-window-actions";
+
+ "${mod}+Left" = cmd_and_center "focus left";
+ "${mod}+Right" = cmd_and_center "focus right";
+ "${mod}+Up" = cmd_and_center "focus up";
+ "${mod}+Down" = cmd_and_center "focus down";
+ "${mod}+Shift+Left" = cmd_and_center "move left";
+ "${mod}+Shift+Right" = cmd_and_center "move right";
+ "${mod}+Shift+Up" = cmd_and_center "move up";
+ "${mod}+Shift+Down" = cmd_and_center "move down";
+
+ "${mod}+q" = cmd_and_center "layout stacking";
+ "${mod}+w" = cmd_and_center "layout tabbed";
+ "${mod}+e" = cmd_and_center "layout toggle split";
+
+ "${mod}+Shift+space" = "floating toggle; ${execns} i3custom-center-mouse-on-focus";
+ "${mod}+space" = cmd_and_center "focus mode_toggle";
+
+ "${mod}+1" = cmd_and_center "workspace number 1";
+ "${mod}+2" = cmd_and_center "workspace number 2";
+ "${mod}+3" = cmd_and_center "workspace number 3";
+ "${mod}+4" = cmd_and_center "workspace number 4";
+ "${mod}+5" = cmd_and_center "workspace number 5";
+ "${mod}+6" = cmd_and_center "workspace number 6";
+ "${mod}+7" = cmd_and_center "workspace number 7";
+ "${mod}+8" = cmd_and_center "workspace number 8";
+ "${mod}+9" = cmd_and_center "workspace number 9";
+ "${mod}+0" = cmd_and_center "workspace number 10";
+
+ "${mod}+Shift+1" = cmd_and_center "move container to workspace number 1";
+ "${mod}+Shift+2" = cmd_and_center "move container to workspace number 2";
+ "${mod}+Shift+3" = cmd_and_center "move container to workspace number 3";
+ "${mod}+Shift+4" = cmd_and_center "move container to workspace number 4";
+ "${mod}+Shift+5" = cmd_and_center "move container to workspace number 5";
+ "${mod}+Shift+6" = cmd_and_center "move container to workspace number 6";
+ "${mod}+Shift+7" = cmd_and_center "move container to workspace number 7";
+ "${mod}+Shift+8" = cmd_and_center "move container to workspace number 8";
+ "${mod}+Shift+9" = cmd_and_center "move container to workspace number 9";
+ "${mod}+Shift+0" = cmd_and_center "move container to workspace number 10";
+ };
};
};
- modifier = "Mod4";
- floating.modifier = "Mod4";
- keybindings = let
- mod = modifier;
- execns = "exec --no-startup-id";
- cmd_and_center = (cmd: "${execns} i3-msg '${cmd}' && i3custom-center-mouse-on-focus");
- in {
- # Program keybinds
- "${mod}+Return" = "${execns} alacritty";
- "${mod}+Shift+s" = "${execns} flameshot gui";
- "${mod}+b" = "${execns} firefox";
- "${mod}+d" = "${execns} rofi -show drun";
- # hack, see i3 user doc for --release flag
- "--release ${mod}+k" = "exec xkill";
+ programs.i3status = {
+ enable = true;
+ enableDefault = false;
- # Volume control
- "Ctrl+F9" = "${execns} pamixer --toggle-mute";
- "Ctrl+F10" = "${execns} pamixer --decrease 5";
- "Ctrl+F11" = "${execns} pamixer --increase 5";
+ general = {
+ interval = 1;
+ colors = true;
+ color_good = "#91d956";
+ color_bad = "#f43841";
+ color_degraded = "#ffdd33";
+ output_format = "i3bar";
+ };
- # MPD controls
- # "Ctrl+F5" = "exec ~/music/select_music.sh";
- # "Ctrl+F6" = "exec mpc prev";
- # "Ctrl+F7" = "exec mpc toggle";
- # "Ctrl+F8" = "exec mpc next";
- # "Ctrl+Shift+F6" = "exec mpc seek -3";
- # "Ctrl+Shift+F7" = "exec mpc clear";
- # "Ctrl+Shift+F8" = "exec mpc seek +3";
- # "Ctrl+Shift+F10" = ''exec mpc volume -5 && dunstify "mpc $(mpc volume)" -r 420'';
- # "Ctrl+Shift+F11" = ''exec mpc volume +5 && dunstify "mpc $(mpc volume)" -r 420'';
+ modules = {
+ "cpu_usage" = {
+ position = 0;
+ settings = {
+ format = "cpu: %usage";
+ };
+ };
- # General i3 keybindings
- "${mod}+f" = cmd_and_center "fullscreen toggle";
- "${mod}+r" = "mode resize";
- "${mod}+Shift+q" = cmd_and_center "kill";
- "${mod}+Shift+r" = "restart";
- "${mod}+Shift+e" = "${execns} i3-nagbar -t warning -m 'exit?' -b 'yes' 'i3-msg exit'";
- # Mouse bindings
- # "--border --whole-window button8" = "${execns} i3custom-window-actions";
+ "memory" = {
+ position = 1;
+ settings = {
+ format = "mem: %used";
+ threshold_degraded = "1G";
+ format_degraded = "MEMORY < %available";
+ };
+ };
- "${mod}+Left" = cmd_and_center "focus left";
- "${mod}+Right" = cmd_and_center "focus right";
- "${mod}+Up" = cmd_and_center "focus up";
- "${mod}+Down" = cmd_and_center "focus down";
- "${mod}+Shift+Left" = cmd_and_center "move left";
- "${mod}+Shift+Right" = cmd_and_center "move right";
- "${mod}+Shift+Up" = cmd_and_center "move up";
- "${mod}+Shift+Down" = cmd_and_center "move down";
+ "volume master" = {
+ position = 2;
+ settings = {
+ color_degraded = "#333333";
+ format = "vol: %volume";
+ format_muted = "vol: ---";
+ };
+ };
- "${mod}+q" = cmd_and_center "layout stacking";
- "${mod}+w" = cmd_and_center "layout tabbed";
- "${mod}+e" = cmd_and_center "layout toggle split";
+ "tztime local" = {
+ position = 3;
+ settings = {
+ format = "%Y-%m-%d %H:%M:%S (%A)";
+ };
+ };
+ };
+ };
- "${mod}+Shift+space" = "${execns} i3custom-floating-toggle && i3custom-center-mouse-on-focus";
- "${mod}+space" = cmd_and_center "focus mode_toggle";
+ home.packages = with pkgs; [
+ (pkgs.writeShellScriptBin "i3custom-center-mouse-on-focus" ''
+ eval $(xdotool getwindowfocus getwindowgeometry --shell)
+ MX=$(($X + $WIDTH / 2))
+ MY=$(($Y + $HEIGHT / 2))
+ xdotool mousemove $MX $MY
+ '')
- "${mod}+1" = cmd_and_center "workspace number 1";
- "${mod}+2" = cmd_and_center "workspace number 2";
- "${mod}+3" = cmd_and_center "workspace number 3";
- "${mod}+4" = cmd_and_center "workspace number 4";
- "${mod}+5" = cmd_and_center "workspace number 5";
- "${mod}+6" = cmd_and_center "workspace number 6";
- "${mod}+7" = cmd_and_center "workspace number 7";
- "${mod}+8" = cmd_and_center "workspace number 8";
- "${mod}+9" = cmd_and_center "workspace number 9";
- "${mod}+0" = cmd_and_center "workspace number 10";
+ (pkgs.writeShellScriptBin "i3custom-window-actions" ''
+ yad --splash --mouse --title="i3 window actions" \
+ --gtkrc="${HOME}/.config/i3/i3gtk.css" \
+ --text="i3 window actions" \
+ --button float:0 --button kill:1
- "${mod}+Shift+1" = cmd_and_center "move container to workspace number 1";
- "${mod}+Shift+2" = cmd_and_center "move container to workspace number 2";
- "${mod}+Shift+3" = cmd_and_center "move container to workspace number 3";
- "${mod}+Shift+4" = cmd_and_center "move container to workspace number 4";
- "${mod}+Shift+5" = cmd_and_center "move container to workspace number 5";
- "${mod}+Shift+6" = cmd_and_center "move container to workspace number 6";
- "${mod}+Shift+7" = cmd_and_center "move container to workspace number 7";
- "${mod}+Shift+8" = cmd_and_center "move container to workspace number 8";
- "${mod}+Shift+9" = cmd_and_center "move container to workspace number 9";
- "${mod}+Shift+0" = cmd_and_center "move container to workspace number 10";
+ case $? in
+ 0) i3-msg "floating toggle";;
+ 1) i3-msg "kill";;
+ -1) ;;
+ esac
+ '')
+
+ (pkgs.writeShellScriptBin "i3custom-floating-toggle" ''
+ i3-msg "mark --add _; [con_mark=f] floating disable, border pixel 1, mark --add --toggle _; [con_mark=_] floating enable, border normal; mark --add --toggle f;"
+ '')
+ ];
+
+ home.file = {
+ ".config/i3/workspace2.json".source = ../files/workspace2.json;
+ ".config/i3/i3gtk.css".source = ../files/i3gtk.css;
};
};
}
diff --git a/programs/ssh.nix b/programs/ssh.nix
index 23fe842..7bbb78b 100644
--- a/programs/ssh.nix
+++ b/programs/ssh.nix
@@ -1,24 +1,27 @@
-{...}:
+{ ... }:
{
- enable = true;
+ services.openssh.enable = true;
- matchBlocks = {
- "github.com" = {
- user = "git";
- identityFile = "~/.ssh/github";
- };
- "192.168.1.12" = {
- identityFile = "~/.ssh/raspi";
- };
- "git.jacekpoz.pl" = {
- user = "forgejo";
- identityFile = "~/.ssh/jacekgit";
- };
- "zasadzka.pl" = {
- user = "discord";
- identityFile = "~/.ssh/zasadzka";
- setEnv = {
- "TERM" = "xterm-256color";
+ home-manager.users.krizej.programs.ssh = {
+ enable = true;
+ matchBlocks = {
+ "github.com" = {
+ user = "git";
+ identityFile = "~/.ssh/github";
+ };
+ "192.168.1.12" = {
+ identityFile = "~/.ssh/raspi";
+ };
+ "git.jacekpoz.pl" = {
+ user = "forgejo";
+ identityFile = "~/.ssh/jacekgit";
+ };
+ "zasadzka.pl" = {
+ user = "discord";
+ identityFile = "~/.ssh/zasadzka";
+ setEnv = {
+ "TERM" = "xterm-256color";
+ };
};
};
};
diff --git a/programs/vim.nix b/programs/vim.nix
index 2888f53..0f87e3c 100644
--- a/programs/vim.nix
+++ b/programs/vim.nix
@@ -1,47 +1,59 @@
{ pkgs, ... }:
{
- enable = true;
- defaultEditor = true;
- plugins = [
- pkgs.vimPlugins.indentLine
- pkgs.vimPlugins.vim-gitgutter
- ];
- settings = let
- vimCache = "~/.cache/vim";
- in {
- background = "dark";
- backupdir = [ "${vimCache}/backup/" ];
- copyindent = false;
- directory = [ "~/.cache/vim/swap/" ];
- expandtab = true;
- hidden = false;
- history = 420;
- ignorecase = false;
- modeline = true;
- mouse = "a";
- mousefocus = false;
- mousehide = false;
- mousemodel = "popup_setpos";
- number = true;
- relativenumber = true;
- shiftwidth = 4;
- smartcase = false;
- tabstop = 4;
- undodir = [ "~/.cache/vim/undo/" ];
- undofile = false;
+ environment.systemPackages = [ pkgs.vim ];
+
+ home-manager.users.krizej = {
+ home.sessionVariables = { "EDITOR" = "vim"; };
+ # fixme: not .vim
+ home.file = { ".vim/colors/darcula.vim".source = ../files/darcula.vim; };
+ programs.vim = {
+ enable = true;
+ defaultEditor = true;
+ plugins = [
+ pkgs.vimPlugins.indentLine
+ pkgs.vimPlugins.vim-gitgutter
+ ];
+ settings = let
+ vimCache = "~/.cache/vim";
+ in {
+ background = "dark";
+ backupdir = ["${vimCache}/backup/"];
+ copyindent = false;
+ directory = ["~/.cache/vim/swap/"];
+ expandtab = true;
+ hidden = false;
+ history = 420;
+ ignorecase = false;
+ modeline = true;
+ mouse = "a";
+ mousefocus = false;
+ mousehide = false;
+ mousemodel = "popup_setpos";
+ number = true;
+ relativenumber = true;
+ shiftwidth = 4;
+ smartcase = false;
+ tabstop = 4;
+ undodir = ["~/.cache/vim/undo/"];
+ undofile = false;
+ };
+ extraConfig = ''
+ set updatetime=100
+ set signcolumn=yes
+ set termguicolors
+ set cursorline
+ colorscheme darcula
+ let g:indentLine_char = '▏'
+ let g:c_no_ansi = 1
+ let g:c_functions = 1
+ let g:c_no_c99 = 1
+ let g:c_no_bsd = 1
+ let g:c_no_c11 = 1
+ let g:c_gnu = 1
+ '';
+ };
};
- extraConfig = ''
- set updatetime=100
- set signcolumn=yes
- set termguicolors
- set cursorline
- colorscheme darcula
- let g:indentLine_char = '▏'
- let g:c_no_ansi = 1
- let g:c_functions = 1
- let g:c_no_c99 = 1
- let g:c_no_bsd = 1
- let g:c_no_c11 = 1
- let g:c_gnu = 1
- '';
+
+ # fuck you
+ programs.nano.enable = false;
}
diff --git a/readme.txt b/readme.txt
index 0af0634..8f13987 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,5 @@
i have no idea what i'm doing
+todo:
+- fix formatting in pkgs/
+- laptop config
diff --git a/services/default.nix b/services/default.nix
index 27cebff..1bc1a7f 100644
--- a/services/default.nix
+++ b/services/default.nix
@@ -1,6 +1,9 @@
-[
- "picom"
- "flameshot"
- "dunst"
-]
-
+{ ... }:
+{
+ imports = [
+ ./dunst.nix
+ ./flameshot.nix
+ ./sddm.nix
+ ./xserver.nix
+ ];
+}
diff --git a/services/dunst.nix b/services/dunst.nix
index d8936da..29989b8 100644
--- a/services/dunst.nix
+++ b/services/dunst.nix
@@ -1,15 +1,16 @@
-{...}:
+{ ... }:
{
- enable = true;
- settings = {
- global = {
- origin = "bottom-right";
- frame_width = 1;
- background = "#333333";
- foreground = "#feeeee";
- font = "JetBrains Mono NL 10";
- frame_color = "#4c7899";
- };
+ home-manager.users.krizej.services.dunst = {
+ enable = true;
+ settings = {
+ global = {
+ origin = "bottom-right";
+ frame_width = 1;
+ background = "#333333";
+ foreground = "#feeeee";
+ font = "JetBrains Mono NL 10";
+ frame_color = "#4c7899";
+ };
+ };
};
}
-
diff --git a/services/flameshot.nix b/services/flameshot.nix
index 726e729..e838fe6 100644
--- a/services/flameshot.nix
+++ b/services/flameshot.nix
@@ -1,10 +1,12 @@
-{...}:
+{ ... }:
{
- enable = true;
- settings = {
- General = {
- disabledTrayIcon = true;
- showStartupLaunchMessage = false;
+ home-manager.users.krizej.services.flameshot = {
+ enable = true;
+ settings = {
+ General = {
+ disabledTrayIcon = true;
+ showStartupLaunchMessage = false;
+ };
};
};
}
diff --git a/services/sddm.nix b/services/sddm.nix
index e69de29..a4218a0 100644
--- a/services/sddm.nix
+++ b/services/sddm.nix
@@ -0,0 +1,12 @@
+{ pkgs, ... }:
+{
+ services.displayManager = {
+ defaultSession = "none+i3";
+ sddm = {
+ enable = true;
+ theme = "sddm-i3-theme";
+ };
+ };
+
+ environment.systemPackages = [ pkgs.sddm-i3-theme ];
+}
diff --git a/services/xserver.nix b/services/xserver.nix
index e69de29..3ea9213 100644
--- a/services/xserver.nix
+++ b/services/xserver.nix
@@ -0,0 +1,49 @@
+{ config, lib, pkgs, ... }:
+{
+ services = {
+ xserver = {
+ enable = true;
+ xkb.layout = "pl";
+
+ displayManager = {
+ # THIS SHIT DOESN'T WORK!!!
+ setupCommands = ''
+ xrandr --output DP-3 --mode 1920x1080 --rate 239.76 --primary
+ xrandr --output HDMI-1 --off
+ xset r rate 180 50
+ '';
+ sessionCommands = ''
+ xrandr --output DP-3 --mode 1920x1080 --rate 239.76 --primary
+ xrandr --output HDMI-1 --mode 1920x1080 --rate 74.97 --right-of DP-3
+ xset r rate 180 50
+ '';
+ };
+
+ # THIS SHIT DOESN'T WORK!!!
+ autoRepeatDelay = 180;
+ autoRepeatInterval = 50;
+ };
+ };
+
+ home-manager.users.krizej.xsession.enable = true;
+
+ environment.systemPackages = with pkgs; [
+ xclip
+ xorg.xkill
+ xorg.xev
+ xdotool
+ ];
+
+ # https://www.reddit.com/r/linux_gaming/comments/1dkbh5t/games_behaving_differently_on_xorg_than_on/
+ # FUCK YOU LIBINPUT
+ services.libinput.enable = lib.mkForce false;
+ # services.libinput = {
+ # enable = true;
+ # touchpad = {
+ # naturalScrolling = false; # it's reversed on my laptop for some reason
+ # tapping = true;
+ # tappingButtonMap = "lmr";
+ # scrollMethod = "edge";
+ # };
+ # };
+}
\ No newline at end of file