Inital commit
This commit is contained in:
6
.editorconfig
Normal file
6
.editorconfig
Normal file
@@ -0,0 +1,6 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
indent_size = 4
|
||||
7
README.md
Normal file
7
README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# OCbwoy3's Dotfiles
|
||||
The second ones, because the first ones were too difficult to install.
|
||||
|
||||
Commands you will most likely need:
|
||||
```bash
|
||||
sudo nixos-rebuild switch --flake "~/config/#default"
|
||||
```
|
||||
48
flake.lock
generated
Normal file
48
flake.lock
generated
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730837930,
|
||||
"narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2f607e07f3ac7e53541120536708e824acccfaa8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1730785428,
|
||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
35
flake.nix
Normal file
35
flake.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
description = "OCbwoy3's Dotfiles";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
# Required by NixOS:
|
||||
# /etc/nixos/hardware-configuration.nix
|
||||
|
||||
# inputs.home-manager.nixosModules.default
|
||||
# catppuccin.nixosModules.catppuccin
|
||||
# nix-flatpak.nixosModules.nix-flatpak
|
||||
|
||||
outputs = { self, nixpkgs, ... }@inputs: {
|
||||
nixosConfigurations.default = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
inputs.home-manager.nixosModules.default
|
||||
catppuccin.nixosModules.catppuccin
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
./hosts/default/configuration.nix
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
58
hosts/default/configuration.nix
Normal file
58
hosts/default/configuration.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
imports = [
|
||||
../../modules/nixos/nixpkgs.nix
|
||||
../../modules/nixos/bootloader.nix
|
||||
../../modules/nixos/hardware.nix
|
||||
../../modules/nixos/nvidia.nix
|
||||
../../modules/nixos/i18n.nix
|
||||
../../modules/nixos/main-user.nix
|
||||
../../modules/nixos/network.nix
|
||||
../../modules/nixos/programs.nix
|
||||
./packages.nix
|
||||
]
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||
};
|
||||
|
||||
services.flatpak.enable = true;
|
||||
services.flatpak.remotes = [
|
||||
{
|
||||
name = "flathub";
|
||||
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||
};
|
||||
{
|
||||
name = "sober";
|
||||
location = "https://sober.vinegarhq.org/repo/"
|
||||
}
|
||||
];
|
||||
|
||||
services.flatpak.packages = [
|
||||
{ appId = "org.vinegarhq.Sober"; origin = "sober"; }
|
||||
];
|
||||
|
||||
programs.hyprland = {
|
||||
# Install the packages from nixpkgs
|
||||
enable = true;
|
||||
# Whether to enable XWayland
|
||||
xwayland.enable = true;
|
||||
};
|
||||
|
||||
main-user.userName = "ocbwoy3";
|
||||
main-user.realName = "OCbwoy3";
|
||||
main-user.packages = with pkgs; [
|
||||
brave
|
||||
prismlauncher
|
||||
vesktop
|
||||
];
|
||||
|
||||
catppuccin.enable = true;
|
||||
catppuccin.flavor = "mocha";
|
||||
|
||||
}
|
||||
88
hosts/default/packages.nix
Normal file
88
hosts/default/packages.nix
Normal file
@@ -0,0 +1,88 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
monaspace
|
||||
nerdfonts
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
nix-direnv
|
||||
unzip
|
||||
ifuse
|
||||
w3m
|
||||
imagemagick
|
||||
alacritty
|
||||
libimobiledevice
|
||||
catppuccin-sddm
|
||||
vim
|
||||
microsoft-edge
|
||||
direnv
|
||||
gnome.nautilus
|
||||
kdePackages.dolphin
|
||||
kdePackages.kservice
|
||||
qpwgraph
|
||||
wget
|
||||
git
|
||||
neofetch
|
||||
vscode
|
||||
nodejs
|
||||
bun
|
||||
(python3.withPackages (subpkgs: with subpkgs; [
|
||||
requests
|
||||
pypresence
|
||||
]))
|
||||
wrangler
|
||||
thefuck
|
||||
fontforge
|
||||
xclip
|
||||
fontforge-gtk
|
||||
deno
|
||||
wofi
|
||||
waybar
|
||||
dunst
|
||||
hyprlock
|
||||
swww
|
||||
swappy
|
||||
slurp
|
||||
grim
|
||||
wl-clipboard
|
||||
github-cli
|
||||
cliphist
|
||||
pywal
|
||||
pavucontrol
|
||||
polkit
|
||||
polkit-kde-agent
|
||||
wlogout
|
||||
libnotify
|
||||
killall
|
||||
networkmanagerapplet
|
||||
blueman
|
||||
arrpc
|
||||
playerctl
|
||||
obs-studio
|
||||
mangohud
|
||||
jq
|
||||
github-cli
|
||||
file
|
||||
nwg-look
|
||||
rhythmbox
|
||||
hyprpolkitagent
|
||||
|
||||
catppuccin-cursors.mochaLavender
|
||||
|
||||
# important
|
||||
glib
|
||||
openssl
|
||||
nss
|
||||
glibc # C LIBRARY DO NOT REMOVE VERY IMPORTANT
|
||||
gobject-introspection
|
||||
gimp
|
||||
mpv
|
||||
]
|
||||
}
|
||||
|
||||
26
modules/nixos/bootloader.nix
Normal file
26
modules/nixos/bootloader.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
boot.binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||
};
|
||||
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
|
||||
boot.loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
grub = {
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
26
modules/nixos/hardware.nix
Normal file
26
modules/nixos/hardware.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
hardware.bluetooth.settings = {
|
||||
General = {
|
||||
Experimental = true;
|
||||
ControllerMode = "bredr";
|
||||
};
|
||||
};
|
||||
|
||||
hardware.enableAllFirmware = true;
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
}
|
||||
26
modules/nixos/i18n.nix
Normal file
26
modules/nixos/i18n.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
time.timeZone = "Europe/Riga";
|
||||
|
||||
i18n.defaultLocale = "lv_LV.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "lv_LV.UTF-8";
|
||||
LC_IDENTIFICATION = "lv_LV.UTF-8";
|
||||
LC_MEASUREMENT = "lv_LV.UTF-8";
|
||||
LC_MONETARY = "lv_LV.UTF-8";
|
||||
LC_NAME = "lv_LV.UTF-8";
|
||||
LC_NUMERIC = "lv_LV.UTF-8";
|
||||
LC_PAPER = "lv_LV.UTF-8";
|
||||
LC_TELEPHONE = "lv_LV.UTF-8";
|
||||
LC_TIME = "lv_LV.UTF-8";
|
||||
};
|
||||
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
}
|
||||
43
modules/nixos/main-user.nix
Normal file
43
modules/nixos/main-user.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
options = {
|
||||
main-user.userName = lib.mkOption {
|
||||
default = "ocbwoy3";
|
||||
description = ''
|
||||
Username
|
||||
'';
|
||||
};
|
||||
main-user.realName = lib.mkOption {
|
||||
default = "OCbwoy3";
|
||||
description = ''
|
||||
User's Name
|
||||
'';
|
||||
};
|
||||
main-user.packages = lib.mkOption {
|
||||
default = [];
|
||||
description = ''
|
||||
User's Packages
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
users.users.${config.main-user.userName} = {
|
||||
isNormalUser = true;
|
||||
initialPassword = "password";
|
||||
description = "${config.main-user.realName}";
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "networkmanager" "wheel" "input" ];
|
||||
packages = ${config.main-user.packages};
|
||||
# with pkgs; [
|
||||
# brave
|
||||
# prismlauncher
|
||||
# gimp
|
||||
# mpv
|
||||
# vesktop
|
||||
# ];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
8
modules/nixos/network.nix
Normal file
8
modules/nixos/network.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
networking.hostName = "nixos";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
}
|
||||
10
modules/nixos/nixpkgs.nix
Normal file
10
modules/nixos/nixpkgs.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
};
|
||||
|
||||
}
|
||||
39
modules/nixos/nvidia.nix
Normal file
39
modules/nixos/nvidia.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
boot.extraModprobeConfig = ''options nvidia_drm modeset=1 fbdev=1'';
|
||||
|
||||
environment.variables = {
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
NVD_BACKEND = "direct";
|
||||
EGL_PLATFORM = "wayland";
|
||||
};
|
||||
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = false;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||
};
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
}
|
||||
28
modules/nixos/programs.nix
Normal file
28
modules/nixos/programs.nix
Normal file
@@ -0,0 +1,28 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
programs.gamemode.enable = true;
|
||||
programs.gamemode.settings.general.renice = 0;
|
||||
programs.gamemode.settings.general.ioprio = 0;
|
||||
programs.gamemode.settings.general.softrealtime = "on";
|
||||
services.usbmuxd.enable = true;
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
c-ares ffmpeg gtk3 http-parser libevent libvpx libxslt minizip nss re2 snappy libnotify libappindicator-gtk3
|
||||
];
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
banner = "What the fuck do you think you're doing here?\n";
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user