authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-07-05 17:11:51-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2025-07-05 17:11:51-07:00
log454a26a85a3b1d5b7577fce269fd5874b5ccab49
treefe4e20abe953ab4555af9d9fc53247080c732cd5
parentfe54e9b0c96de1ab3242a9345f071a8b2b0d301c
parent918824a59ede1f8a87b052029b7f2a49a9c67af6

Merge remote-tracking branch 'origin/julia'


9 files changed, 369 insertions(+), 1 deletions(-)

flake.nix+10
......@@ -145,6 +145,16 @@
145145 system = "aarch64-darwin";
146146 };
147147
148 # julia's cattop
149 nixosConfigurations.cattop = mkSystem "cattop" {
150 user = "julia";
151 host = "cattop";
152 system = "x86_64-linux";
153 extraModules = [
154 nixos-cosmic.nixosModules.default
155 ];
156 };
157
148158 # generate checks for "nix flake check --all-systems --no-build"
149159 checks.aarch64-darwin = builtins.listToAttrs (
150160 builtins.map (
modules/nixos/default.nix-1
......@@ -7,7 +7,6 @@
77 imports = [
88 ./boot.nix
99 ./ld.nix
10 ./nvidia.nix
1110 ./services.nix
1211 ];
1312 # make 'shared.darwin' not an error to define.
users/julia/cattop/configuration.nix created+127
......@@ -0,0 +1,127 @@
1# Edit this configuration file to define what should be installed on
2# your system. Help is available in the configuration.nix(5) man page, on
3# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
4
5{ config, lib, pkgs, ... }:
6
7{
8 imports =
9 [ # Include the results of the hardware scan.
10 ./hardware-configuration.nix
11 ];
12
13 # Use the systemd-boot EFI boot loader.
14 boot.loader.efi.canTouchEfiVariables = true;
15
16 # networking.hostName = "nixos"; # Define your hostname.
17 # Pick only one of the below networking options.
18 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
19 # networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
20
21 # Set your time zone.
22 # time.timeZone = "Europe/Amsterdam";
23
24 # Configure network proxy if necessary
25 # networking.proxy.default = "http://user:password@proxy:port/";
26 # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
27
28 # Select internationalisation properties.
29 # i18n.defaultLocale = "en_US.UTF-8";
30 # console = {
31 # font = "Lat2-Terminus16";
32 # keyMap = "us";
33 # useXkbConfig = true; # use xkb.options in tty.
34 # };
35
36 # Enable the X11 windowing system.
37 services.xserver.enable = true;
38
39 # Enable the GNOME Desktop Environment.
40 services.xserver.displayManager.gdm.enable = true;
41 services.xserver.desktopManager.gnome.enable = true;
42
43
44 # Configure keymap in X11
45 # services.xserver.xkb.layout = "us";
46 # services.xserver.xkb.options = "eurosign:e,caps:escape";
47
48 # Enable CUPS to print documents.
49 # services.printing.enable = true;
50
51 # Enable sound.
52 # services.pulseaudio.enable = true;
53 # OR
54 # services.pipewire = {
55 # enable = true;
56 # pulse.enable = true;
57 # };
58
59 # Enable touchpad support (enabled default in most desktopManager).
60 # services.libinput.enable = true;
61
62 # Define a user account. Don't forget to set a password with ‘passwd’.
63 users.users.fish = {
64 isNormalUser = true;
65 extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
66 packages = with pkgs; [
67 tree
68 git
69 nh
70 vim
71 fish
72 ];
73 };
74
75 programs.firefox.enable = true;
76
77 # List packages installed in system profile.
78 # You can use https://search.nixos.org/ to find more packages (and options).
79 environment.systemPackages = with pkgs; [
80 vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
81 wget
82 ];
83
84 # Some programs need SUID wrappers, can be configured further or are
85 # started in user sessions.
86 programs.mtr.enable = true;
87 programs.gnupg.agent = {
88 enable = true;
89 enableSSHSupport = true;
90 };
91
92 # List services that you want to enable:
93
94 # Enable the OpenSSH daemon.
95 # services.openssh.enable = true;
96
97 # Open ports in the firewall.
98 # networking.firewall.allowedTCPPorts = [ ... ];
99 # networking.firewall.allowedUDPPorts = [ ... ];
100 # Or disable the firewall altogether.
101 # networking.firewall.enable = false;
102
103 # Copy the NixOS configuration file and link it from the resulting system
104 # (/run/current-system/configuration.nix). This is useful in case you
105 # accidentally delete configuration.nix.
106 # system.copySystemConfiguration = true;
107
108 # This option defines the first version of NixOS you have installed on this particular machine,
109 # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
110 #
111 # Most users should NEVER change this value after the initial install, for any reason,
112 # even if you've upgraded your system to a new NixOS release.
113 #
114 # This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
115 # so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
116 # to actually do that.
117 #
118 # This value being lower than the current NixOS release does NOT mean your system is
119 # out of date, out of support, or vulnerable.
120 #
121 # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
122 # and migrated your data accordingly.
123 #
124 # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
125 system.stateVersion = "25.05"; # Did you read the comment?
126}
127
users/julia/cattop/hardware-configuration.nix created+40
......@@ -0,0 +1,40 @@
1# Do not modify this file! It was generated by ‘nixos-generate-config’
2# and may be overwritten by future invocations. Please make changes
3# to /etc/nixos/configuration.nix instead.
4{ config, lib, pkgs, modulesPath, ... }:
5
6{
7 imports =
8 [ (modulesPath + "/installer/scan/not-detected.nix")
9 ];
10
11 boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" ];
12 boot.initrd.kernelModules = [ ];
13 boot.kernelModules = [ "kvm-intel" ];
14 boot.extraModulePackages = [ ];
15
16 fileSystems."/" =
17 { device = "/dev/disk/by-uuid/8eb0d6a2-b8cf-4ef2-ba2a-e25a5555b0bc";
18 fsType = "ext4";
19 };
20
21 fileSystems."/boot" =
22 { device = "/dev/disk/by-uuid/3B51-4A1C";
23 fsType = "vfat";
24 options = [ "fmask=0077" "dmask=0077" ];
25 };
26
27 swapDevices =
28 [ { device = "/dev/disk/by-uuid/58ee9d19-292f-49b5-9979-341b42e8e09d"; }
29 ];
30
31 # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
32 # (the default) this is the recommended approach. When using systemd-networkd it's
33 # still possible to use this option, but it's recommended to use it in conjunction
34 # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
35 networking.useDHCP = lib.mkDefault true;
36 # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
37
38 nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
39 hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
40}
users/julia/cattop/home.nix created+77
......@@ -0,0 +1,77 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}:
10
11{
12 home = {
13 stateVersion = "23.05"; # Don't change this unless upgrading Home Manager versions
14
15 packages = with pkgs; [
16 # General applications
17 ghostty
18 stremio
19 julia
20 qbittorrent
21 calibre
22 mpv
23 signal-desktop
24 python3
25 gh
26
27 # Gaming
28 bottles
29 lutris
30 mangohud
31 dxvk_2
32 steam-run
33 vulkan-tools
34 path-of-building
35 wineWowPackages.stable
36 winetricks
37 (prismlauncher.override { gamemodeSupport = true; })
38
39 # System & desktop tools
40 wofi
41 xorg.xauth
42 kdePackages.dolphin
43 xdg-desktop-portal-gtk
44 xclip
45 pavucontrol
46 ethtool
47 grub2
48 efibootmgr
49 distrobox
50
51 # Dev tools
52 legcord
53 hyfetch
54 arduino-cli
55 rust-bin.stable.latest.default
56 tytools
57 inputs.zls.packages.x86_64-linux.zls
58 platformio
59 usbutils
60 teensy-loader-cli
61 teensyduino
62 ];
63 };
64
65 programs = {
66 btop.enable = true;
67 hyfetch.enable = true;
68
69 gh = {
70 enable = true;
71 gitCredentialHelper.enable = true;
72 };
73
74 # Uncomment if you want to use MangoHud system-wide
75 # mangohud.enable = true;
76 };
77}
users/julia/cattop/home.nix.old created+72
......@@ -0,0 +1,72 @@
1{
2 inputs,
3 config,
4 pkgs,
5 lib,
6 userSettings,
7 systemSettings,
8 ...
9}:
10{
11 home = {
12 stateVersion = "23.05"; # Please read the comment before changing.
13
14 packages = with pkgs; [
15 #building macos apps hard :(
16 ghostty
17 stremio
18 julia
19 qbittorrent
20
21 #gaming
22 bottles
23 lutris
24 mangohud
25 dxvk_2
26 steam-run
27 vulkan-tools
28 path-of-building
29 wineWowPackages.stable
30 winetricks
31 (prismlauncher.override { gamemodeSupport = true; })
32
33 #window manager stuff
34 wofi
35 xorg.xauth
36 #linux tools
37 legcord
38 pavucontrol
39 ethtool
40 grub2
41 efibootmgr
42 distrobox
43 xdg-desktop-portal-gtk
44 xclip
45 kdePackages.dolphin
46 hyfetch
47 arduino-cli
48 python3
49 gh
50 #broken on macos
51 calibre
52 mpv
53 wireguard-tools
54 signal-desktop
55 inputs.zls.packages.x86_64-linux.zls
56 rust-bin.stable.latest.default
57 ];
58
59 # programs.mangohud.enable = true;
60 programs = {
61 btop.enable = true;
62 hyfetch.enable = true;
63 programs.gh = {
64 enable = true;
65 gitCredentialHelper = {
66 enable = true;
67 };
68 };
69 };
70
71 };
72}
users/julia/configuration.nix created+9
......@@ -0,0 +1,9 @@
1# Applied to all systems
2{
3 inputs,
4 pkgs,
5 host,
6 ...
7}:
8{
9}
users/julia/user.nix created+13
......@@ -0,0 +1,13 @@
1rec {
2 username = "fish"; # username
3 name = "Julia"; # name/identifier
4 email = "fish@fishcat.fish"; # email (used for certain configurations)
5 dotfilesDir = "~/config"; # absolute path of the local repo
6 theme = "catppuccin-mocha"; # name of theme that stylix will use
7 browser = "firefox"; # Default browser; must select one from ./user/app/browser/
8 term = "ghostty"; # Default terminal command;
9 font = "iosevka"; # Selected font
10 editor = "neovim"; # Default editor;
11 timeZone = "America/Los_Angeles";
12 sexuality = "transgender";
13}
users/julia/vim.nix created+21
......@@ -0,0 +1,21 @@
1{ ... }:
2{
3 vim.languages.astro.enable = true;
4 vim.theme.extraConfig = ''
5 if vim.g.neovide then
6 vim.g.neovide_cursor_trail_size = 0.3
7 vim.g.neovide_scroll_animation_length = 0.1;
8
9 vim.keymap.set('n', '<D-s>', ':w<CR>') -- Save
10 vim.keymap.set('v', '<D-c>', '"+y') -- Copy
11 vim.keymap.set('n', '<D-v>', '"+P') -- Paste normal mode
12 vim.keymap.set('v', '<D-v>', '"+P') -- Paste visual mode
13 vim.keymap.set('c', '<D-v>', '<C-R>+') -- Paste command mode
14 vim.keymap.set('i', '<D-v>', '<ESC>l"+Pli') -- Paste insert mode
15 end
16 vim.api.nvim_set_keymap("", '<D-v>', '+p<CR>', { noremap = true, silent = true})
17 vim.api.nvim_set_keymap('!', '<D-v>', '<C-R>+', { noremap = true, silent = true})
18 vim.api.nvim_set_keymap('t', '<D-v>', '<C-R>+', { noremap = true, silent = true})
19 vim.api.nvim_set_keymap('v', '<D-v>', '<C-R>+', { noremap = true, silent = true})
20 '';
21}