Compare commits

...

31 commits

Author SHA1 Message Date
Ranomier
fb4f531bb1 libreoffice spelling 2025-03-01 20:35:27 +01:00
Ranomier
b8aa94fcdc formating 2025-03-01 20:35:14 +01:00
Ranomier
c97ee80ee0 btop 2025-03-01 20:34:54 +01:00
Ranomier
61319d320e made office module and added spell checking 2025-02-22 21:28:43 +01:00
Ranomier
16795211fa locketeti lock lock 2025-02-22 21:23:29 +01:00
Ranomier
3e0aa3b39d added etlegacy 2025-02-22 21:09:52 +01:00
Ranomier
6619aa33ae cleaned up unneeded comments 2025-02-22 21:09:08 +01:00
Ranomier
48d88c885a formating 2025-02-03 18:33:10 +01:00
Ranomier
60c1d93f45 upd 2025-02-03 18:32:46 +01:00
Ranomier
008475598a comments 2025-02-03 18:32:14 +01:00
Ranomier
f0753d367e replaced double variable 2025-02-03 18:31:36 +01:00
Ranomier
b1f2edefe1 changed things with factorio server, but i am still not happy 2025-01-23 04:50:10 +01:00
Ranomier
57b75b58d7 removed basicly empty file 2025-01-23 04:49:34 +01:00
Ranomier
da27e17832 enabled auto updates on flatpaks 2025-01-23 04:47:33 +01:00
Ranomier
4c77c7fa05 turned on auto login and cleaned up the file 2025-01-23 04:45:19 +01:00
Ranomier
b70e3c9ce0 alias for nvim to vi and vim 2025-01-15 21:32:41 +01:00
Ranomier
fa162a9f9d 325 current 2025-01-15 17:40:45 24.11.20250106.3f0a8ac 6.12.2-zen1 * 2025-01-15 17:40:52 +01:00
Ranomier
3cfaf56aca remove amberol_wrapper 2025-01-14 20:40:36 +01:00
Ranomier
a3e04542ba 324 current 2025-01-13 20:57:56 24.11.20250106.3f0a8ac 6.12.2-zen1 * 2025-01-13 20:58:02 +01:00
Ranomier
60531b7ac8 323 current 2025-01-10 22:36:23 24.11.20250106.3f0a8ac 6.12.2-zen1 * 2025-01-13 20:54:49 +01:00
Ranomier
e7de53b2fe again random stuff 2025-01-13 03:16:43 +01:00
Ranomier
7f4b1ae8e1 shell stuff 2025-01-13 03:16:02 +01:00
Ranomier
7fa2c15c64 random stuff 2025-01-13 03:14:46 +01:00
Ranomier
ec717bcaf8 313 current 2025-01-04 01:32:27 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-04 01:32:34 +01:00
Ranomier
9dd80cd5ab 312 current 2025-01-04 01:01:52 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-04 01:01:59 +01:00
Ranomier
a65a0b76d7 311 current 2025-01-04 00:53:58 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-04 00:54:04 +01:00
Ranomier
a4beaf2358 310 current 2025-01-04 00:48:53 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-04 00:49:01 +01:00
Ranomier
eb515c0d95 309 current 2025-01-02 00:34:51 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-02 00:34:56 +01:00
Ranomier
5a84295dc7 308 current 2025-01-02 00:33:12 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-02 00:33:18 +01:00
Ranomier
447fa2e841 307 current 2025-01-01 23:06:37 24.11.20241231.edf04b7 6.12.2-zen1 * 2025-01-02 00:16:48 +01:00
Ranomier
f59b9c3acb 306 current 2024-12-28 00:21:47 24.11.20241222.1807c2b 6.12.2-zen1 * 2025-01-01 21:11:55 +01:00
27 changed files with 443 additions and 227 deletions

67
flake.lock generated
View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734366194, "lastModified": 1739757849,
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", "narHash": "sha256-Gs076ot1YuAAsYVcyidLKUMIc4ooOaRGO0PqTY7sBzA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", "rev": "9d3d080aec2a35e05a15cedd281c2384767c2cfe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -23,11 +23,11 @@
}, },
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1734864618, "lastModified": 1739444422,
"narHash": "sha256-8SCTJhDH1fdNGGFhuGStIqbO7vwUKQokgQu6nQlQagY=", "narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=",
"owner": "gmodena", "owner": "gmodena",
"repo": "nix-flatpak", "repo": "nix-flatpak",
"rev": "13be795cac27df7044a425c0b2de3a42b10ddb18", "rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -36,13 +36,49 @@
"type": "github" "type": "github"
} }
}, },
"nixlib": {
"locked": {
"lastModified": 1736643958,
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixos-generators": {
"inputs": {
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1737057290,
"narHash": "sha256-3Pe0yKlCc7EOeq1X/aJVDH0CtNL+tIBm49vpepwL1MQ=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "d002ce9b6e7eb467cd1c6bb9aef9c35d191b5453",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixos-generators",
"type": "github"
}
},
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1734954597, "lastModified": 1740089251,
"narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=", "narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "def1d472c832d77885f174089b0d34854b007198", "rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,11 +90,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1734875076, "lastModified": 1739923778,
"narHash": "sha256-Pzyb+YNG5u3zP79zoi8HXYMs15Q5dfjDgwCdUI5B0nY=", "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1807c2b91223227ad5599d7067a61665c52d1295", "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -70,11 +106,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1734649271, "lastModified": 1739866667,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -88,6 +124,7 @@
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixos-generators": "nixos-generators",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable" "nixpkgs-unstable": "nixpkgs-unstable"

View file

@ -12,18 +12,20 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# generating filesystems in different formats
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
# NixOS unstable channel # NixOS unstable channel
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
# ready made hardware configurations. e.G.: Power saving # ready made hardware configurations. e.G.: Power saving
nixos-hardware = { nixos-hardware.url = "github:NixOS/nixos-hardware/master";
url = "github:NixOS/nixos-hardware/master";
};
# for managing flatpaks, like which ones are installed and which not # for managing flatpaks, like which ones are installed and which not
nix-flatpak = { nix-flatpak.url = "github:gmodena/nix-flatpak";
url = "github:gmodena/nix-flatpak";
};
}; };
####### #######
@ -36,6 +38,7 @@
nixpkgs-unstable, nixpkgs-unstable,
nix-flatpak, nix-flatpak,
home-manager, home-manager,
nixos-generators,
... ...
} @ inputs: let } @ inputs: let
# Supported systems for your flake packages, shell, etc. # Supported systems for your flake packages, shell, etc.
@ -68,7 +71,7 @@
overlays = import ./overlays {inherit inputs;}; overlays = import ./overlays {inherit inputs;};
# Reusable nixos modules you might want to export # Reusable nixos modules you might want to export
# These are usually stuff you would upstream into nixpkgs # These are usually stuff you would upstream into nixpkgs
nixosModules = import ./modules/nixos; #nixosModules = import ./modules/nixos;
# Reusable home-manager modules you might want to export # Reusable home-manager modules you might want to export
# These are usually stuff you would upstream into home-manager # These are usually stuff you would upstream into home-manager
homeManagerModules = import ./modules/home-manager; homeManagerModules = import ./modules/home-manager;
@ -76,8 +79,7 @@
# NixOS configuration entrypoint # NixOS configuration entrypoint
# Available through 'nixos-rebuild --flake .#your-hostname' # Available through 'nixos-rebuild --flake .#your-hostname'
nixosConfigurations = nixosConfigurations =
host_helper "crocoite" # // (host_helper example); host_helper "crocoite"; # // (host_helper example);
// host_helper "factorio";
## Standalone home-manager configuration entrypoint ## Standalone home-manager configuration entrypoint
## Available through 'home-manager --flake .#your-username@your-hostname' ## Available through 'home-manager --flake .#your-username@your-hostname'
@ -92,5 +94,33 @@
# ]; # ];
# }; # };
#}; #};
packages.x86_64-linux = {
factorio = nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = [
# you can include your own nixos configuration here, i.e.
./hosts/factorio/factorio.nix
];
customFormats = {
"myFormat" = {
lib,
modulesPath,
...
}: {
imports = [
"${toString modulesPath}/virtualisation/proxmox-lxc.nix"
];
boot.loader.grub.enable = lib.mkForce false;
boot.loader.systemd-boot.enable = lib.mkForce false;
formatAttr = "tarball";
fileExtension = "asd.tar.xz";
};
};
format = "myFormat";
#format = "vmware";
};
};
}; };
} }

View file

@ -6,8 +6,6 @@
}: { }: {
networking.hostName = "crocoite"; # Define your hostname. networking.hostName = "crocoite"; # Define your hostname.
#MANPAGER='nvim +Man!'
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave
@ -74,6 +72,8 @@
../../modules/software ../../modules/software
../../modules/software/browser ../../modules/software/browser
../../modules/software/nix-helper ../../modules/software/nix-helper
../../modules/software/shells
../../modules/software/office
../../modules/wm_and_de ../../modules/wm_and_de

View file

@ -1,6 +1,6 @@
{...}: { {...}: {
# Use the GRUB 2 boot loader. # Use the GRUB 2 boot loader.
boot.loader.grub.enable = true; #boot.loader.grub.enable = true;
# Define on which hard drive you want to install Grub. # Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only #boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
} }

View file

@ -1,50 +1,59 @@
{pkgs, ...}: { {
pkgs,
lib,
modulesPath,
...
}: {
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.05"; # Did you read the comment? system.stateVersion = "24.11"; # Did you read the comment?
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
nixpkgs = { nixpkgs.config = {
# You can add overlays here # Disable if you don't want unfree packages
#overlays = with inputs.self.overlays; [ allowUnfree = true;
# Add overlays your own flake exports (from overlays and pkgs dir):
#additions
#modifications
#unstable-packages
# You can also add overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
#];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
};
}; };
nix.settings.experimental-features = ["nix-command" "flakes"]; nix.settings.experimental-features = ["nix-command" "flakes"];
# https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager, # https://lix.systems/ Lix is a modern, delicious implementation of the Nix package manager,
# focused on correctness, usability, and growth # focused on correctness, usability, and growth
# and committed to doing right by its community. # and committed to doing right by its community.
nix.package = pkgs.lix; nix.package = pkgs.lix;
imports = [ imports = [
#nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1 #nixos-hardware.nixosModules.lenovo-thinkpad-t14-amd-gen1
#./hardware-configuration.nix #./hardware-configuration.nix
./boot.nix #./boot.nix
./hardware-configuration.nix #./hardware-configuration.nix
../../modules/locale.nix ../../modules/locale.nix
../../modules/game/server/factorio/factorio.nix #../../modules/game/server/factorio/factorio.nix
(modulesPath + "/profiles/perlless.nix")
(modulesPath + "/profiles/minimal.nix")
{
environment.defaultPackages = [];
boot.kernel.enable = false;
boot.isContainer = true;
nixpkgs.overlays = [(self: super: {})];
}
{
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
}
];
disabledModules = [
(modulesPath + "/profiles/all-hardware.nix")
(modulesPath + "/profiles/base.nix")
# <nixpkgs/nixos/modules/profiles/all-hardware.nix>
# <nixpkgs/nixos/modules/profiles/base.nix>
]; ];
} }

View file

@ -8,30 +8,9 @@
modulesPath, modulesPath,
... ...
}: { }: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"]; boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
fileSystems."/" = { # maybe instruct nix to just use available swap partition
device = "/dev/disk/by-uuid/a6c22dab-a82a-4109-a8d0-b7ed99d56bc7";
fsType = "ext4";
};
swapDevices = [
{device = "/dev/disk/by-uuid/ca4eedce-6e52-4593-a188-a48e54074d14";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens18.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
} }

View file

@ -1,3 +1,6 @@
{...}: { {...}: {
services.speechd.enable = true; services = {
speechd.enable = true;
orca.enable = true;
};
} }

View file

@ -1,8 +1,10 @@
{pkgs, ...}: { {pkgs, ...}: {
#MANPAGER='nvim +Man!' # install and set neovim as MANPAGER
environment.systemPackages = [pkgs.neovim]; environment.systemPackages = [pkgs.neovim];
environment.variables = { environment.variables = {
"MANPAGER" = "nvim +Man!"; "MANPAGER" = "nvim +Man!";
# set neovim as default editor
"EDITOR" = "nvim"; "EDITOR" = "nvim";
}; };
} }

View file

@ -3,5 +3,5 @@
networking.firewall.allowedTCPPorts = [8080 10001 10002]; networking.firewall.allowedTCPPorts = [8080 10001 10002];
networking.firewall.allowedUDPPorts = [8080 10001 10002]; networking.firewall.allowedUDPPorts = [8080 10001 10002];
# Or disable the firewall altogether. # Or disable the firewall altogether.
# networking.firewall.enable = false; networking.firewall.enable = false;
} }

View file

@ -2,7 +2,7 @@
services.flatpak = { services.flatpak = {
enable = true; enable = true;
update.auto = { update.auto = {
enable = false; enable = true;
onCalendar = "weekly"; onCalendar = "weekly";
}; };
uninstallUnmanaged = true; uninstallUnmanaged = true;

View file

@ -1,21 +1,28 @@
{pkgs, ...}: { {pkgs, ...}: let
default_command = "Hyprland";
in {
# Enable touchpad support (enabled default in most desktopManager). # Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true; # services.xserver.libinput.enable = true;
services.greetd = { services.greetd = {
enable = true; enable = true;
vt = 7; vt = 7;
settings = { settings = {
initial_session = {
command = default_command;
user = "ranomier";
};
default_session = { default_session = {
command = '' ${pkgs.greetd.tuigreet}/bin/tuigreet \ command = ''
--time \ ${pkgs.greetd.tuigreet}/bin/tuigreet \
--time-format '%Y-%m-%dT%H:%M:%S %A' \ --time \
--remember \ --time-format '%Y-%m-%dT%H:%M:%S %A' \
--user-menu \ --remember \
--user-menu-min-uid 1000 \ --user-menu \
--user-menu-max-uid 2000 \ --user-menu-min-uid 1000 \
--theme 'border=lightgreen;text=lightgreen;prompt=lightgreen;time=lightgreen;action=lightgreen;button=lightgreen;input=lightgreen' \ --user-menu-max-uid 2000 \
--cmd Hyprland''; --theme 'border=lightgreen;text=lightgreen;prompt=lightgreen;time=lightgreen;action=lightgreen;button=lightgreen;input=lightgreen' \
# removed elements from theme: container --cmd ${default_command}
'';
user = "greeter"; user = "greeter";
}; };
}; };

View file

@ -8,5 +8,7 @@
./software.nix ./software.nix
./virt.nix ./virt.nix
./android.nix ./android.nix
#./mpv.nix
./neovim.nix
]; ];
} }

View file

@ -45,6 +45,12 @@
appId = "io.github.Soundux"; appId = "io.github.Soundux";
} # soundboard } # soundboard
# games
{
origin = "flathub";
appId = "com.etlegacy.ETLegacy";
} # shooter
#"com.obsproject.Studio" #this is another way to write it #"com.obsproject.Studio" #this is another way to write it
]; ];
}; };

View file

@ -1,37 +1,28 @@
{pkgs, ...}: { {pkgs, ...}: {
#environment.systemPackages = with pkgs; [ ];
# hardware.steam-hardware.enable = true; # Note that this is already enabled with programs.steam.enable = true;
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall =
true; # Open ports in the firewall for Steam Remote Play # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = remotePlay.openFirewall = true;
true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = # Open ports in the firewall for Source Dedicated Server
true; # Open ports in the firewall for Steam Local Network Game Transfers dedicatedServer.openFirewall = true;
# Open ports in the firewall for Steam Local Network Game Transfers
localNetworkGameTransfers.openFirewall = true;
# enables a extra session for the login screen (get steam deck behavior)
gamescopeSession.enable = true;
# make proton-ge alway available
extraCompatPackages = with pkgs; [proton-ge-bin];
}; };
programs.steam.gamescopeSession.enable = true;
#### FHS environment only
# This will only make partial installation - provide the script, which creates the typical environment expected by proprietary games and software on regular Linux, allowing to run such software without patching. Useful if you plan to run games downloaded from the internet.
# Note that this is not necessary for clients installed from Nixpkgs (like Minigalaxy or Itch), which already use the FHS environment.
# There are two options to install the FHS environment. The first is to install steam-run.
#Example snippet of configuration.nix:
# environment.systemPackages = with pkgs; [
# steam-run
# ];
# Another option, in case you need more flexibility, is to directly reference the part of steam metapackage.
# Example snippet of configuration.nix:
# environment.systemPackages = with pkgs; [
# (steam.override { /* Your overrides here */ }).run
# ];
# Install the game by setting the executable attribute on the installer and then running it via steam-run ./your_installer.sh. After installation, edit the "~/.local/share/applications/your_game.desktop" and replace the exec line from Exec="/home/user/game/start.sh" "" with Exec="steam-run" "/home/user/game/start.sh".
# steam-run: Run commands in the same FHS environment that is used for Steam
environment.systemPackages = with pkgs; [steam-run]; environment.systemPackages = with pkgs; [steam-run];
programs.steam.extraCompatPackages = with pkgs; [proton-ge-bin]; # Note that this is already enabled with programs.steam.enable = true;
# but it might be usefull on systems without steam,
# while still using steam hardware
#hardware.steam-hardware.enable = true;
} }

29
modules/software/mpv.nix Normal file
View file

@ -0,0 +1,29 @@
{
pkgs,
home-manager,
...
}: {
home-manager.programs.mpv = {
enable = true;
package = (
pkgs.mpv-unwrapped.wrapper {
scripts = with pkgs.mpvScripts; [
uosc
sponsorblock
];
mpv = pkgs.mpv-unwrapped.override {
waylandSupport = true;
ffmpeg = pkgs.ffmpeg-full;
};
}
);
config = {
profile = "high-quality";
ytdl-format = "bestvideo+bestaudio";
cache-default = 4000000;
};
};
}

View file

@ -0,0 +1,7 @@
{...}: {
programs.neovim = {
enable = true;
viAlias = true;
vimAlias = true;
};
}

View file

@ -0,0 +1,5 @@
{...}: {
imports = [
./libreoffice.nix
];
}

View file

@ -0,0 +1,8 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
libreoffice
hunspell
hunspellDicts.en_GB-large
hunspellDicts.de_DE
];
}

View file

@ -2,49 +2,8 @@
# everyone should use zsh xD # everyone should use zsh xD
users.defaultUserShell = pkgs.zsh; users.defaultUserShell = pkgs.zsh;
# Prevent the new user dialog in zsh # Prevent the new user dialog in zsh
system.userActivationScripts.zshrc = "touch .zshrc";
programs.zsh = {
enable = true;
shellInit = ''
compinit () {
builtin autoload -XUz /run/current-system/sw/share/zsh/$ZSH_VERSION/functions
}
# config options to make zsh obey XDG base directory standard
ZDOTDIR=$HOME/.config/zsh
[ -d "$HOME"/.config/zsh ] || mkdir -p "$HOME"/.config/zsh
HISTFILE="$XDG_STATE_HOME"/zsh/history
# Completion files: Use XDG dirs
[ -d "$XDG_CACHE_HOME"/zsh ] || mkdir -p "$XDG_CACHE_HOME"/zsh
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME"/zsh/zcompcache
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-$ZSH_VERSION
# Note that to manually override this in ~/.zshrc you should run `prompt off`
# before setting your PS1 and etc. Otherwise this will likely to interact with
# your ~/.zshrc configuration in unexpected ways as the default prompt sets
# a lot of different prompt variables.
autoload -U promptinit && promptinit && prompt suse && setopt prompt_sp
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
# bindkey
bindkey -e
bindkey "\e[3~" delete-char
# Home- und End-Keys.
bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line
# to redo the initial zsh installation run these commands
#autoload -Uz zsh-newuser-install
#zsh-newuser-install -f
'';
ohMyZsh.enable = true;
};
# supports many shell so it lives here
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {

View file

@ -0,0 +1,6 @@
{...}: {
imports = [
./zsh.nix
./fish.nix
];
}

View file

@ -0,0 +1,15 @@
{pkgs, ...}: {
programs = {
fish = {
enable = true;
useBabelfish = true;
shellInit = ''
starship init fish | source
'';
};
nix-index.enableFishIntegration = true;
direnv.enableFishIntegration = true;
foot.enableFishIntegration = true;
};
environment.systemPackages = [pkgs.starship];
}

View file

@ -0,0 +1,44 @@
{...}: {
system.userActivationScripts.zshrc = "touch .zshrc";
programs.zsh = {
enable = true;
shellInit = ''
compinit () {
builtin autoload -XUz /run/current-system/sw/share/zsh/$ZSH_VERSION/functions
}
# config options to make zsh obey XDG base directory standard
ZDOTDIR=$HOME/.config/zsh
[ -d "$HOME"/.config/zsh ] || mkdir -p "$HOME"/.config/zsh
HISTFILE="$XDG_STATE_HOME"/zsh/history
# Completion files: Use XDG dirs
[ -d "$XDG_CACHE_HOME"/zsh ] || mkdir -p "$XDG_CACHE_HOME"/zsh
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME"/zsh/zcompcache
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-$ZSH_VERSION
# Note that to manually override this in ~/.zshrc you should run `prompt off`
# before setting your PS1 and etc. Otherwise this will likely to interact with
# your ~/.zshrc configuration in unexpected ways as the default prompt sets
# a lot of different prompt variables.
autoload -U promptinit && promptinit && prompt suse && setopt prompt_sp
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
# bindkey
bindkey -e
bindkey "\e[3~" delete-char
# Home- und End-Keys.
bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line
# to redo the initial zsh installation run these commands
#autoload -Uz zsh-newuser-install
#zsh-newuser-install -f
'';
ohMyZsh.enable = true;
};
}

View file

@ -4,72 +4,66 @@
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ nix search wget
environment.systemPackages = let environment.systemPackages = with pkgs; [
amberol_wrapper = pkgs.writeShellScriptBin "amberol" '' # low level stuff
export GDK_BACKEND='x11' efibootmgr
exec "${pkgs.amberol}/bin/amberol" "$@" #exfat
''; exfatprogs
in greetd.greetd
with pkgs; [ greetd.tuigreet
# low level stuff killall
efibootmgr vulnix
#exfat
exfatprogs
greetd.greetd
greetd.tuigreet
killall
vulnix
# hardware # hardware
brightnessctl brightnessctl
usbutils usbutils
lm_sensors lm_sensors
unstable.neovim unstable.neovim
git git
gnumake gnumake
gcc gcc
nodePackages.npm nodePackages.npm
nodejs-slim nodejs-slim
python3 python3
fd fd
nodejs-slim nodejs-slim
cargo cargo
rustc rustc
# tooling # tooling
htop htop
ncdu btop
wget ncdu
unstable.yt-dlp wget
miniserve unstable.yt-dlp
file miniserve
unzip file
tmux unzip
fzf tmux
ripgrep fzf
qemu ripgrep
home-manager qemu
dfc home-manager
p7zip dfc
p7zip
# move to homemanager? # move to homemanager?
unstable.mumble unstable.mumble
amberol_wrapper amberol
amberol nuclear
nuclear #zathura
mpv sioyek
zathura #feh
libreoffice nomacs
#feh #unstable.obsidian
nomacs keepassxc
#unstable.obsidian #minecraft
keepassxc element-desktop
#minecraft rustdesk-flutter
element-desktop timer
rustdesk-flutter prusa-slicer
timer ];
];
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
noto-fonts noto-fonts

View file

@ -1,6 +1,7 @@
{...}: { {...}: {
imports = [ imports = [
./hyprland.nix ./hyprland.nix
#./qtile.nix
./components/dbus.nix ./components/dbus.nix
]; ];
} }

View file

@ -52,6 +52,9 @@
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ nix search wget
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
hyprsunset
hyprpolkitagent
hyprutils
# for tiling window manager # for tiling window manager
foot foot
foot.themes foot.themes

View file

@ -0,0 +1,78 @@
{
config,
pkgs,
lib,
...
}: {
nixpkgs.overlays = [
(self: super: {
qtile-unwrapped = super.qtile-unwrapped.overrideAttrs (_: rec {
postInstall = let
qtileSession = ''
[Desktop Entry]
Name=Qtile Wayland
Comment=Qtile on Wayland
Exec=qtile start -b wayland
Type=Application
'';
in ''
mkdir -p $out/share/wayland-sessions
echo "${qtileSession}" > $out/share/wayland-sessions/qtile.desktop
'';
passthru.providedSessions = ["qtile"];
});
})
];
services.displayManager.sessionPackages = [pkgs.qtile-unwrapped];
services.xserver.windowManager.qtile.enable = true;
# for mounting stuff, also needs a auth agent like lxqt.lxqt-policykit
services.gvfs.enable = true;
qt = {
enable = true;
platformTheme = "qt5ct";
style = "kvantum";
};
environment.pathsToLink = ["/share/foot"];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# for tiling window manager
foot
foot.themes
wofi
wl-clipboard # for waydroid and maybe more
wlogout
pamixer
#unstable.kanshi
shikane
dunst
# audio
mixxc
ncpamixer
# for screenshot + annotation
grim
slurp
satty
flameshot
# theming
gruvbox-plus-icons
gruvbox-gtk-theme
kde-gruvbox
capitaine-cursors-themed
libsForQt5.qtstyleplugin-kvantum
kdePackages.qtstyleplugin-kvantum
# polkit auth agent
lxqt.lxqt-policykit
# file manager
nautilus
];
}

1
result Symbolic link
View file

@ -0,0 +1 @@
/nix/store/bky8ls2952j8dvnxj4m7rx21y124ky60-tarball