Skip to content

Commit

Permalink
add wallpaper and re-structured configs
Browse files Browse the repository at this point in the history
  • Loading branch information
hauskens committed Dec 12, 2023
1 parent f30f2a1 commit 269e9f5
Show file tree
Hide file tree
Showing 9 changed files with 111 additions and 104 deletions.
17 changes: 16 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ If you are still not conviced, here are some of the features in this distro:
- Nano is aliased to VIM
- Sudo is customized to insult you on incorrect password attempts

More in depth details about the features are found [here](#features)
More in depth details about the features are found [here](#features) ⚠️ Spoiler warning ⚠️

## Getting started
**⚠️INSTALL AT YOUR OWN RISK⚠️**
Expand All @@ -50,6 +50,21 @@ Failing to choose something else within 5 sec it will automatically shut down th
Select this option to boot the system
![Accidentail boot protection](images/boot-protection.png)
Otherwise a unintended boot is prevented.

### Desktop theme
This is still work in progress and will become a global theme at some point.

#### Cursor
The default cursor named "Gust" is a fork of the KDE cursor "Breeze". It is modified to have the cursor click spot on bottom right corner instead of top left.

#### Wallpaper
Wallpaper named "Crowded" is included in wallpaper settings (not default yet..)

It scales to most screen resolutions, so the cursor background should be the same size as the user's cursor regardless of the user's screen size.

![Wallpaper Preview](images/wallpaper-preview.png)


### Customizations to the login screen
The login screen (SDDM) is customized to never remember the username, so the user will have to type both the username and password to log in.

Expand Down
24 changes: 12 additions & 12 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

93 changes: 34 additions & 59 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
};
};

outputs = { self, nixpkgs, nixos-generators, calamares-bb, home-manager, bigbother-theme, ... }:
outputs = { self, nixpkgs, nixos-generators, ... }@inputs:
let
version = "1.2";
version = "1.4";
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
Expand All @@ -51,47 +51,22 @@

# This is the configuration used when calamares installer installs the system.
nixosConfigurations.bigbotherpc = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs system self;};
modules = [
./os.nix
./configuration.nix
home-manager.nixosModules.home-manager
({ pkgs, ... }: {
home-manager.sharedModules = [ bigbother-theme.homeManagerModules.gust-cursor-theme ];

nixpkgs.config.packageOverrides = localPkgs: {
# TODO: Find a way to import this in a nicer way...
gust-cursor-theme = bigbother-theme.packages.${system}.gust-cursor-theme;
};
})
inputs.home-manager.nixosModules.home-manager
];
};

# This is the configuration used inside the ISO
nixosConfigurations.bigbotherinstaller = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs system self;};
modules = [
self.nixosModules.bigbotherinstaller
inputs.home-manager.nixosModules.home-manager
./modules/installer.nix
./os.nix
./installer.nix
home-manager.nixosModules.home-manager
({ pkgs, ... }: {
environment.systemPackages = [
calamares-bb.packages.x86_64-linux.calamares-nixos-extensions
];
home-manager.sharedModules = [ bigbother-theme.homeManagerModules.gust-cursor-theme ];

nixpkgs.config.packageOverrides = localPkgs: {
calamares-nixos-extensions = calamares-bb.packages.x86_64-linux.calamares-nixos-extensions;
# TODO: Find a way to import this in a nicer way...
gust-cursor-theme = bigbother-theme.packages.${system}.gust-cursor-theme;
};

# Copy the files needed for the installer to the ISO, Calamares will copy these onto the system
environment.etc."bigbother/os.nix".source = "${self}/os.nix";
environment.etc."bigbother/flake.nix".source = "${self}/flake.nix";
environment.etc."bigbother/flake.lock".source = "${self}/flake.lock";
environment.etc."bigbother/home.nix".source = "${self}/home.nix";
environment.etc."bigbother/modules".source = "${self}/modules/";
})
];
};

Expand Down Expand Up @@ -149,36 +124,36 @@
# '';
# })

packages.x86_64-linux.welcome-app = pkgs.python3Packages.buildPythonApplication rec {
pname = "welcome-app";
version = "1.0";
# packages.x86_64-linux.welcome-app = pkgs.python3Packages.buildPythonApplication rec {
# pname = "welcome-app";
# version = "1.0";

src = ./welcome-screen;
# src = ./welcome-screen;

propagatedBuildInputs = with pkgs.python3Packages; [
pyqt5
pkgs.qt5.qtbase
pkgs.qt5.qtx11extras
pkgs.qt5.qtwayland
# propagatedBuildInputs = with pkgs.python3Packages; [
# pyqt5
# pkgs.qt5.qtbase
# pkgs.qt5.qtx11extras
# pkgs.qt5.qtwayland

];
dontWrapQtApps = true; # Prevent double-wrapping

nativeBuildInputs = with pkgs; [
qt5.wrapQtAppsHook # This hook automatically wraps Qt applications
];

installPhase = ''
mkdir -p $out/bin
mkdir -p $out/static
cp main.py $out/bin/${pname}
cp logo.png $out/static/logo.png
chmod +x $out/bin/${pname}
'';
postInstall = ''
wrapQtApp $out/bin/${pname}
'';
};
# ];
# dontWrapQtApps = true; # Prevent double-wrapping

# nativeBuildInputs = with pkgs; [
# qt5.wrapQtAppsHook # This hook automatically wraps Qt applications
# ];

# installPhase = ''
# mkdir -p $out/bin
# mkdir -p $out/static
# cp main.py $out/bin/${pname}
# cp logo.png $out/static/logo.png
# chmod +x $out/bin/${pname}
# '';
# postInstall = ''
# wrapQtApp $out/bin/${pname}
# '';
# };


};
Expand Down
5 changes: 2 additions & 3 deletions home.nix
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
{ config, pkgs, ... }:
{ config, pkgs, inputs, ... }:
{
programs = {
home-manager.enable = true;
#nano.enable = false; # just learn vim lol
vim.enable = true;
gust-cursor-theme = {
bigbother-theme = {
enable = true;
#package = bigbother-theme.packages.x86_64-linux.gust-cursor-theme;
};
};
home = {
Expand Down
Binary file added images/wallpaper-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 0 additions & 26 deletions installer.nix

This file was deleted.

34 changes: 34 additions & 0 deletions modules/installer.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{ self, config, pkgs, inputs, system, ... }:
{
environment.systemPackages = [
inputs.calamares-bb.packages.${system}.calamares-nixos-extensions
pkgs.neofetch
pkgs.btop
];

nixpkgs.config.packageOverrides = pkgs: {
firefox = pkgs.microsoft-edge;
};

environment.plasma5.excludePackages = with pkgs.libsForQt5; [
elisa
gwenview
okular
oxygen
khelpcenter
plasma-browser-integration
print-manager
kwalletmanager
];

networking.hostName = "bigbother";

services.xserver.layout = "no";

# Copy the files needed for the installer to the ISO, Calamares will copy these onto the system
environment.etc."bigbother/os.nix".source = "${self}/os.nix";
environment.etc."bigbother/flake.nix".source = "${self}/flake.nix";
environment.etc."bigbother/flake.lock".source = "${self}/flake.lock";
environment.etc."bigbother/home.nix".source = "${self}/home.nix";
environment.etc."bigbother/modules".source = "${self}/modules/";
}
2 changes: 1 addition & 1 deletion modules/version.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ let
BUILD_ID = cfg.version;
PRETTY_NAME = "BigBother ${cfg.release} (${cfg.codeName})";
LOGO = "nix-snowflake-white";
HOME_URL = "https://snowflakeos.org"; #TODO CHANGE THIS
HOME_URL = "https://github.com/BigBotherLinux/BigBother"; #TODO CHANGE THIS
DOCUMENTATION_URL = "";
SUPPORT_URL = "";
BUG_REPORT_URL = "";
Expand Down
14 changes: 12 additions & 2 deletions os.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{ config, pkgs, ... }:
{ config, pkgs, inputs, system, ... }:
{

imports = [
./modules/version.nix
];
bigbother.osInfo.enable = true; # version numbers in lsb-release


# we need it specifically for hyper-v,
# im not sure if nixos-generate-config would have picked this up, so maybe it is only needed in the iso
Expand All @@ -22,10 +22,20 @@
# Enable home manager for the user
# FYI: calamares will go in to this file and do a string replace on the username.
# It searches for 'users.nixos' and replaces it with 'users.<username>'
home-manager.sharedModules = [ inputs.bigbother-theme.homeManagerModules.bigbother-theme ];
home-manager.extraSpecialArgs = { inherit inputs; };

nixpkgs.config.packageOverrides = localPkgs: {
calamares-nixos-extensions = inputs.calamares-bb.packages.${system}.calamares-nixos-extensions;
gust-cursor-theme = inputs.bigbother-theme.packages.${system}.gust-cursor-theme;
bb-wallpaper = inputs.bigbother-theme.packages.${system}.bb-wallpaper;
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.nixos = import ./home.nix;



environment = {
systemPackages = with pkgs; [
microsoft-edge
Expand Down

0 comments on commit 269e9f5

Please sign in to comment.