We do a little refactoring + plasma theming
This commit is contained in:
parent
05b36550a3
commit
39dd3f47c8
22 changed files with 257 additions and 397 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -0,0 +1,2 @@
|
|||
# Jetbrains configuration directory
|
||||
/.idea
|
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
12
.idea/material_theme_project_new.xml
Normal file
12
.idea/material_theme_project_new.xml
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MaterialThemeProjectNewConfig">
|
||||
<option name="metadata">
|
||||
<MTProjectMetadataState>
|
||||
<option name="migrated" value="true" />
|
||||
<option name="pristineConfig" value="false" />
|
||||
<option name="userId" value="-2b035df3:18ee689acec:-8000" />
|
||||
</MTProjectMetadataState>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/nix-config.iml" filepath="$PROJECT_DIR$/.idea/nix-config.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
8
.idea/nix-config.iml
Normal file
8
.idea/nix-config.iml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
19
.idea/php.xml
Normal file
19
.idea/php.xml
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MessDetectorOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PHPCSFixerOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PHPCodeSnifferOptionsConfiguration">
|
||||
<option name="highlightLevel" value="WARNING" />
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PhpStanOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PsalmOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
Jo's NixOS configuration
|
||||
|
||||
|
||||
## Deployment
|
||||
|
||||
Run this to apply your system configuration.
|
||||
|
|
174
flake.lock
174
flake.lock
|
@ -1,103 +1,5 @@
|
|||
{
|
||||
"nodes": {
|
||||
"catppuccinifier": {
|
||||
"inputs": {
|
||||
"crane": "crane",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1696928114,
|
||||
"narHash": "sha256-h445Aox0jck7MOCsKxXLKiE4QvptL/54eXUuhQZGF7o=",
|
||||
"owner": "lighttigerXIV",
|
||||
"repo": "catppuccinifier",
|
||||
"rev": "ef9c180bb7bbf1486671a1c6df41adaab60a9b41",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lighttigerXIV",
|
||||
"repo": "catppuccinifier",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"catppuccinifier",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687310026,
|
||||
"narHash": "sha256-20RHFbrnC+hsG4Hyeg/58LvQAK7JWfFItTPFAFamu8E=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "116b32c30b5ff28e49f4fcbeeb1bbe3544593204",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685518550,
|
||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687171271,
|
||||
"narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -105,11 +7,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1698128422,
|
||||
"narHash": "sha256-Qf39ATHrj6wfeC+K6uwD/FnI7RKrdEiN3uWaciUi0rM=",
|
||||
"lastModified": 1713818326,
|
||||
"narHash": "sha256-aw3xbVPJauLk/bbrlakIYxKpeuMWzA2feGrkIpIuXd8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "6045b68ee725167ed0487f0fb88123202ba61923",
|
||||
"rev": "67de98ae6eed5ad6f91b1142356d71a87ba97f21",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -121,11 +23,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1697723726,
|
||||
"narHash": "sha256-SaTWPkI8a5xSHX/rrKzUe+/uVNy6zCGMXgoeMb7T9rg=",
|
||||
"lastModified": 1713714899,
|
||||
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7c9cc5a6e5d38010801741ac830a3f8fd667a7a0",
|
||||
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -135,68 +37,34 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"plasma-manager": {
|
||||
"inputs": {
|
||||
"catppuccinifier": "catppuccinifier",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"catppuccinifier",
|
||||
"crane",
|
||||
"flake-utils"
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"catppuccinifier",
|
||||
"crane",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1685759304,
|
||||
"narHash": "sha256-I3YBH6MS3G5kGzNuc1G0f9uYfTcNY9NYoRc3QsykLk4=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "c535b4f3327910c96dcf21851bbdd074d0760290",
|
||||
"lastModified": 1713805120,
|
||||
"narHash": "sha256-WmqVyblqQ3g2Bmm+WONc1OnUuOuULQRIQya9wCLp5o8=",
|
||||
"owner": "pjones",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "ffeef9dc96a5a0e442479c94a6000f93b69aeaac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"owner": "pjones",
|
||||
"repo": "plasma-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"plasma-manager": "plasma-manager"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
67
flake.nix
67
flake.nix
|
@ -5,46 +5,51 @@
|
|||
# Nixpkgs
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
# Gnome testing branch (getting new major versions earlier)
|
||||
# gnomeNixpkgs.url = "github:NixOS/nixpkgs/gnome";
|
||||
|
||||
# Home manager
|
||||
home-manager.url = "github:nix-community/home-manager/master";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# Catppuccinifier
|
||||
catppuccinifier = {
|
||||
url = "github:lighttigerXIV/catppuccinifier";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# TODO: Add any other flake you might need
|
||||
# hardware.url = "github:nixos/nixos-hardware";
|
||||
|
||||
# Shameless plug: looking for a way to nixify your themes and make
|
||||
# everything match nicely? Try nix-colors!
|
||||
# nix-colors.url = "github:misterio77/nix-colors";
|
||||
# Plasma manager
|
||||
plasma-manager = {
|
||||
url = "github:pjones/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
catppuccinifier,
|
||||
...
|
||||
} @ inputs: let
|
||||
outputs = { self, nixpkgs, home-manager, plasma-manager, ... } @inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
|
||||
# Supported systems for this flake
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
];
|
||||
|
||||
# Function that generates an attribute by calling a function you pass to it
|
||||
# It takes each system as an argument
|
||||
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||
in {
|
||||
# My custom packages
|
||||
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
|
||||
|
||||
# My reusable modules for nixos
|
||||
nixosModules = import ./modules/nixos;
|
||||
|
||||
# My reusable modules for home-manager
|
||||
homeManagerModules = import ./modules/home-manager;
|
||||
|
||||
# NixOS configuration entrypoint
|
||||
# Available through 'nixos-rebuild --flake .#your-hostname'
|
||||
nixosConfigurations = {
|
||||
# FIXME replace with your hostname
|
||||
nixos = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs catppuccinifier;};
|
||||
# > Our main nixos configuration file <
|
||||
puzzlevision = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {inherit inputs outputs;};
|
||||
|
||||
modules = [
|
||||
./nixos/configuration.nix
|
||||
./nixos/modules/desktop/kde.nix
|
||||
./hosts/puzzlevision/configuration.nix
|
||||
./modules/nixos/desktop/kde.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -52,13 +57,13 @@
|
|||
# Standalone home-manager configuration entrypoint
|
||||
# Available through 'home-manager --flake .#your-username@your-hostname'
|
||||
homeConfigurations = {
|
||||
"jo@nixos" = home-manager.lib.homeManagerConfiguration {
|
||||
"jo@puzzlevision" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||
extraSpecialArgs = {inherit inputs outputs;};
|
||||
# > Our main home-manager configuration file <
|
||||
modules = [
|
||||
./home-manager/home.nix
|
||||
];
|
||||
./home-manager/puzzlevision/home.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,132 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
# If you want to use home-manager modules from other flakes (such as nix-colors):
|
||||
# inputs.nix-colors.homeManagerModule
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
# You can add overlays here
|
||||
overlays = [
|
||||
# If you want to use 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;
|
||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
username = "jo";
|
||||
homeDirectory = "/home/jo";
|
||||
};
|
||||
|
||||
# home.packages = with pkgs.gnomeExtensions; [
|
||||
# user-themes
|
||||
# dash-to-dock
|
||||
# appindicator
|
||||
# blur-my-shell
|
||||
# rounded-window-corners
|
||||
# ];
|
||||
|
||||
# dconf.settings = with lib.hm.gvariant; {
|
||||
# "org/gnome/shell" = {
|
||||
# disable-user-extensions = false;
|
||||
# # enabled-extensions = map (extension: extension.extensionUuid) home.packages;
|
||||
# disabled-extensions = [ ];
|
||||
# };
|
||||
|
||||
# "org/gnome/shell/extensions/user-theme" = {
|
||||
# name = config.gtk.theme.name;
|
||||
# };
|
||||
|
||||
# # "org/gnome/shell/extensions/dash-to-dock" = {
|
||||
# # "appicon-margin" = 0;
|
||||
# # "appicon-padding" = 6;
|
||||
# # "tray-padding" = 4;
|
||||
# # "click-action" = "TOGGLE-SHOWPREVIEW";
|
||||
# # "dot-position" = "TOP";
|
||||
# # "dot-style-focused" = "METRO";
|
||||
# # "dot-style-unfocused" = "DASHES";
|
||||
# # "group-apps" = true;
|
||||
# # "isolate-workspaces" = true;
|
||||
# # "middle-click-action" = "MINIMIZE";
|
||||
# # "shift-click-action" = "LAUNCH";
|
||||
# # "scroll-icon-action" = "NOTHING";
|
||||
# # "scroll-panel-action" = "NOTHING";
|
||||
# # "stockgs-panelbtn-click-only" = true;
|
||||
# # };
|
||||
|
||||
# "org/gnome/desktop/interface" = {
|
||||
# color-scheme = "prefer-dark";
|
||||
# clock-show-weekday = true;
|
||||
# clock-show-date = true;
|
||||
# clock-show-seconds = false;
|
||||
# enable-hot-corners = false;
|
||||
# };
|
||||
|
||||
# "org/gnome/desktop/input-sources" = {
|
||||
# sources = [ (mkTuple [ "xkb" "de" ]) ];
|
||||
# };
|
||||
|
||||
# "org/gnome/shell" = {
|
||||
# favorite-apps = [
|
||||
# "firefox.desktop"
|
||||
# "org.gnome.Nautilus.desktop"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
|
||||
# theme = {
|
||||
# name = "Adw-gtk3";
|
||||
# package = pkgs.adw-gtk3;
|
||||
# };
|
||||
|
||||
# cursorTheme = {
|
||||
# name = "Catppuccin-Macchiato-Dark-Cursors";
|
||||
# package = pkgs.catppuccin-cursors.macchiatoRed;
|
||||
# size = 32;
|
||||
# };
|
||||
# };
|
||||
|
||||
# home.file.".config/gtk-4.0/gtk.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk.css";
|
||||
# home.file.".config/gtk-4.0/gtk-dark.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk-dark.css";
|
||||
# home.file.".config/gtk-4.0/assets" = {
|
||||
# recursive = true;
|
||||
# source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/assets";
|
||||
# };
|
||||
|
||||
# Add stuff for your user as you see fit:
|
||||
# programs.neovim.enable = true;
|
||||
# home.packages = with pkgs; [ steam ];
|
||||
|
||||
# Enable home-manager and git
|
||||
programs.home-manager.enable = true;
|
||||
programs.git.enable = true;
|
||||
|
||||
# Nicely reload system units when changing configs
|
||||
systemd.user.startServices = "sd-switch";
|
||||
|
||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||
home.stateVersion = "23.05";
|
||||
}
|
55
home-manager/puzzlevision/home.nix
Normal file
55
home-manager/puzzlevision/home.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
# If you want to use home-manager modules from other flakes (such as nix-colors):
|
||||
# inputs.nix-colors.homeManagerModule
|
||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
# You can add overlays here
|
||||
overlays = [];
|
||||
|
||||
# Configure your nixpkgs instance
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
};
|
||||
|
||||
# Username and home directory
|
||||
home = {
|
||||
username = "jo";
|
||||
homeDirectory = "/home/jo";
|
||||
};
|
||||
|
||||
# Plasma configuration
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
|
||||
workspace = {
|
||||
clickItemTo = "select";
|
||||
iconTheme = "Tela-Blue-Dark";
|
||||
};
|
||||
};
|
||||
|
||||
# home.file.".config/gtk-4.0/gtk.css".source = "${orchis}/share/themes/Orchis-Green-Dark-Compact/gtk-4.0/gtk.css";
|
||||
|
||||
# Enable home-manager and git
|
||||
programs.home-manager.enable = true;
|
||||
programs.git.enable = true;
|
||||
|
||||
# Nicely reload system units when changing configs
|
||||
systemd.user.startServices = "sd-switch";
|
||||
|
||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||
home.stateVersion = "23.05";
|
||||
}
|
|
@ -53,14 +53,18 @@
|
|||
options = "--delete-older-than 3d";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# Install the latest kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
# Improve SSD performance
|
||||
fileSystems."/".options = [ "noatime" "nodiratime" "discard" ];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "nixos";
|
||||
networking.hostName = "puzzlevision";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
@ -104,45 +108,36 @@
|
|||
hardware.bluetooth.enable = true;
|
||||
hardware.bluetooth.powerOnBoot = true;
|
||||
|
||||
networking.wg-quick = {
|
||||
interfaces.homelab = {
|
||||
privateKey = "kJ+2MOoYbtI6K00pJbVQshD7bXx/pjKw01wlMih9FFI=";
|
||||
address = [ "10.8.0.2/24" ];
|
||||
dns = [ "1.1.1.1" ];
|
||||
|
||||
peers = [
|
||||
# For a client configuration, one peer entry for the server will suffice.
|
||||
{
|
||||
# Public key of the server (not a file path).
|
||||
publicKey = "MTUi5FzlUQX1Vl2PLC72hnZnREn5kYRGqS6QSnaFeyQ=";
|
||||
presharedKey = "Spzeg7KwMXuczdkpMygmzix5QBkgTOrR3lLlO7862yw=";
|
||||
allowedIPs = [ "0.0.0.0/0" "::/0" ];
|
||||
endpoint = "jo-server.duckdns.org:51820";
|
||||
persistentKeepalive = 0;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# Enable docker
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "de";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Define a user account.
|
||||
users.users = {
|
||||
jo = {
|
||||
isNormalUser = true;
|
||||
description = "Jo";
|
||||
extraGroups = [ "networkmanager" "wheel" "docker" ];
|
||||
extraGroups = [ "networkmanager" "wheel" "docker" "tty" "dialout" ];
|
||||
packages = with pkgs; [
|
||||
discord
|
||||
ciscoPacketTracer8
|
||||
wireshark
|
||||
joplin-desktop
|
||||
teamspeak_client
|
||||
virtualbox
|
||||
spotify
|
||||
qflipper
|
||||
wineWowPackages.waylandFull
|
||||
vesktop
|
||||
avra
|
||||
avrdude
|
||||
jetbrains.phpstorm
|
||||
teams-for-linux
|
||||
enpass
|
||||
thunderbird
|
||||
kde-rounded-corners
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -152,10 +147,10 @@
|
|||
initialPassword = "fortnite";
|
||||
extraGroups = [ "networkmanager" ];
|
||||
packages = with pkgs; [
|
||||
jetbrains.webstorm
|
||||
jetbrains.phpstorm
|
||||
teams-for-linux
|
||||
enpass
|
||||
thunderbird
|
||||
];
|
||||
};
|
||||
};
|
||||
|
@ -171,18 +166,12 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
nano
|
||||
firefox
|
||||
thunderbird
|
||||
vlc
|
||||
libreoffice
|
||||
wineWowPackages.waylandFull
|
||||
xorg.xf86inputlibinput
|
||||
gimp
|
||||
ungoogled-chromium
|
||||
|
||||
# For development
|
||||
vscodium
|
||||
git
|
||||
nodejs_20
|
||||
bun
|
||||
];
|
||||
|
||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
@ -8,33 +8,42 @@
|
|||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "vmd" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "vmd" "nvme" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/9469c51e-bfcf-4d70-88e8-96e3cec4fbda";
|
||||
fsType = "ext4";
|
||||
{ device = "/dev/disk/by-uuid/864b1287-89fd-4cc0-98a5-40a3caf804c6";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@" ];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-5fd4fc76-d5c5-46c3-b952-1a7a7ff3a1fc".device = "/dev/disk/by-uuid/5fd4fc76-d5c5-46c3-b952-1a7a7ff3a1fc";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/7526-929F";
|
||||
{ device = "/dev/disk/by-uuid/2429-4141";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/49ae48db-5d1e-421b-90c6-7e092847636c"; }
|
||||
];
|
||||
fileSystems."/var/lib/docker/btrfs" =
|
||||
{ device = "/@/var/lib/docker/btrfs";
|
||||
fsType = "none";
|
||||
options = [ "bind" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# 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.br-9b746f4e7e2f.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
6
modules/home-manager/default.nix
Normal file
6
modules/home-manager/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Collection of reusable home-manager modules (https://nixos.wiki/wiki/Module)
|
||||
# These shouldn't include personal configurations, but much rather stuff that can be shared across multiple configurations
|
||||
{
|
||||
# List your module files here
|
||||
# my-module = import ./my-module.nix;
|
||||
}
|
1
modules/home-manager/themes/qt_catppuccin-macchiato.nix
Normal file
1
modules/home-manager/themes/qt_catppuccin-macchiato.nix
Normal file
|
@ -0,0 +1 @@
|
|||
|
6
modules/nixos/default.nix
Normal file
6
modules/nixos/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Collection of reusable nixos modules (https://nixos.wiki/wiki/Module)
|
||||
# These shouldn't include personal configurations, but much rather stuff that can be shared across multiple configurations
|
||||
{
|
||||
# List your module files here
|
||||
# my-module = import ./my-module.nix;
|
||||
}
|
|
@ -11,10 +11,4 @@
|
|||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
layout = "de";
|
||||
xkbVariant = "";
|
||||
};
|
||||
}
|
||||
}
|
19
modules/nixos/desktop/kde.nix
Normal file
19
modules/nixos/desktop/kde.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Enable the x11 windowing system
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the SDDM display manager.
|
||||
services.displayManager.sddm.enable = true;
|
||||
|
||||
# Enable the KDE Plasma 6 desktop environment.
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
|
||||
# Enable KDE-Connect
|
||||
programs.kdeconnect.enable = true;
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
layout = "de";
|
||||
xkbVariant = "";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
lightly-boehs
|
||||
kde-rounded-corners
|
||||
];
|
||||
|
||||
programs.kdeconnect.enable = true;
|
||||
}
|
5
pkgs/default.nix
Normal file
5
pkgs/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Custom packages, that can be defined similarly to ones from nixpkgs
|
||||
# You can build them using 'nix build .#example'
|
||||
pkgs: {
|
||||
# example = pkgs.callPackage ./example { };
|
||||
}
|
Loading…
Reference in a new issue